Git 是一种分布式版本控制系统,它广泛用于软件开发和项目管理领域,提供了一个简单高效的工具来跟踪文件的修改记录,并允许多个开发者协作。本文档将从基础知识开始介绍,逐步深入到高级用法。
1. 安装 Git
Linux:
在大多数 Linux 发行版中可以直接通过包管理器安装 Git。
sudo apt-get update && sudo apt-get install git #对于Debian/Ubuntu用户
或者
sudo yum install git #对于CentOS/RHEL用户
Windows 和 macOS:
建议从官网下载 Git 最新版本的安装程序进行安装:https://git-scm.com/downloads
2. 配置 Git
在第一次使用前,需要配置你的用户名和邮箱。这是重要的识别信息。
git config --global user.name "Your Name"
git config --global user.email [email protected]
可以查看已有的配置:
git config --list
3. 初始化 Git 仓库
在当前目录下初始化一个新的仓库或检查一个现存的仓库是否存在。
# 在新目录中创建新的 Git 仓库
mkdir new_repo && cd $_
git init
# 检查现有目录是否为 Git 仓库
git rev-parse --is-inside-work-tree
4. 基本操作
添加文件到暂存区
git add <file>
# 或者将整个目录下的所有文件添加进来
git add .
提交更改
提交已添加到暂存区的变更。
git commit -m "Initial commit"
5. 查看状态和历史记录
检查仓库的状态,包括未跟踪、修改等信息。
git status
查看提交日志以了解项目的历史。
git log
# 或者更详细的输出
git log --oneline --graph --decorate --all
6. 分支管理
创建新分支并切换至该分支
git branch featureA # 创建新的分支 featureA
git checkout featureA # 切换到 featureA
# 或者结合命令一起使用:
git checkout -b featureB
合并分支
将一个分支合并到当前工作区。
git merge featureA
7. 远程仓库操作
克隆远程仓库
克隆一个项目至本地。
git clone <remote-repo-url>
# 指定一个不同的目录名:
git clone <remote-repo-url> my_project_name
推送代码到远程分支
将本地更改推送到远程主分支(main/master)或任何其他分支。
git push origin main # 推送到名为 "main" 的远程分支
# 如果需要推送一个新创建的分支:
git push -u origin featureA
拉取更新
从远程仓库拉取最新的代码到本地。
git pull origin main
8. 解决冲突
当合并或拉取时遇到文件冲突,需手动解决。编辑相关文件后添加并提交变更。
# 添加解决的文件
git add .
# 提交更改
git commit -m "Resolved conflicts in file"
详细查看冲突内容可直接打开文件查看标记,或使用命令行工具如:
git diff --name-status
9. 其他有用的命令和功能
- 查看远程仓库详情:
git remote -v - 删除本地分支(不会从远程删除):
git branch -d featureB - 撤销对暂存区的修改:
git reset HEAD <file> - 恢复工作目录中的文件到上次提交的状态:
git checkout -- <file>
10. 使用 Git 的最佳实践
分支策略
采用明确的工作流,如 GitFlow 或 GitHub Flow。
- GitFlow: 主分支维护稳定版本,开发在其他独立的分支中进行;功能完成后再合并至开发主分支(develop)。
- GitHub Flow: 所有工作都在非主分支上完成,并通过拉取请求(pull request)的方式提出合并到主分支。
良好的提交信息
确保每次提交都包含有意义的信息,以便于他人理解其目的和内容。遵循标准格式:
fix: 修改错误
feat: 添加新特性
docs: 更新文档
