Git 版本管理基础指令
Git 是一个分布式版本控制系统,通过它我们可以追踪代码的每一次变更。理解 Git 的工作流程是高效协作的前提。
核心工作流程
Git 的核心在于文件状态的流转:工作区 -> 暂存区 -> 本地仓库。
- 工作区:你正在编辑的文件所在目录。
- 暂存区:准备提交到仓库的快照区域。
- 本地仓库:永久保存的版本历史。
初始化与配置
在开始之前,需要设置用户信息,确保提交的记录归属正确。
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
查看当前配置是否生效:
git config --global user.name
git config --global user.email
创建本地仓库
在项目目录下执行 git init,系统会生成隐藏的 .git 目录,标志着这里已成为一个 Git 仓库。
git init
常用操作指令
日常开发中,文件修改后通常经历以下几个状态变化。
基本命令
- 添加文件到暂存区:注意中间有空格。
git add . - 提交到本地仓库:
-m后面跟提交说明,建议描述清晰。git commit -m "add file01" - 查看状态:随时确认哪些文件被修改或暂存。
git status - 查看历史记录:
如果想看所有分支的图形化展示:git loggit log --all --pretty=oneline --abbrev-commit --graph
版本回退
如果不小心提交了错误的代码,可以使用 reset 命令回退。reflog 能帮你找回误删的提交记录。
# 回退到指定版本(慎用)
git reset --hard <commitID>
# 查看已删除的提交记录
git reflog
忽略文件
不想让 Git 跟踪某些文件(如编译产物、密钥),可以创建 .gitignore 文件并写入规则。
分支管理
分支是 Git 最强大的功能之一,支持多人并行开发而不互相干扰。
分支操作
- 查看分支:当前分支前会有星号标记。
git branch - 创建并切换分支:
git checkout -b dev01 - 合并分支:先切换到目标分支(如 master),再执行 merge。
git merge dev01 - 删除分支:
# 安全删除(需已合并)
git branch -d b1
强制删除(未合并也会删)
git branch -D b1
> 注意:如果分支未合并就强制删除,该分支上的新提交可能会丢失,操作前请确认。
### 解决冲突
合并时若出现冲突,Git 会提示具体文件。手动打开文件,保留需要的代码部分,然后重新提交:
```bash
git add .
git commit -m "fix conflict"
远程仓库协作
本地仓库通常需要与远程服务器同步,常见的平台有 GitHub、Gitee 等。
SSH 公钥配置
为了免密推送,建议配置 SSH Key。
- 生成密钥:
一路回车即可。ssh-keygen -t rsa - 查看公钥内容:
cat ~/.ssh/id_rsa.pub - 将生成的公钥复制到远程平台的设置中。
连接与推送
添加远程仓库地址:
git remote add origin [email protected]:username/repo.git
首次推送到远程分支时,需要建立关联:
git push --set-upstream origin master
后续只需:
git push
拉取更新
从远程获取最新代码:
# 拉取并自动合并
git pull
# 或者分步操作
git fetch
git merge origin/master
如果遇到远程和本地文件冲突,按上述冲突解决步骤处理即可。克隆项目则直接使用:
git clone [email protected]:username/repo.git

