本文为你整理了 Git 的常用操作,无论你是刚接触 Git 还是需要快速查阅,这篇指南都能帮你高效管理代码版本。
🔧 初始配置
开始使用 Git 前,先配置你的用户信息:
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"
🚀 入门基础
初始化新仓库
如果项目尚未受 Git 管理,在其目录下执行:
git init
此命令会创建一个隐藏的 .git
文件夹,用于跟踪所有版本信息。
获取现有仓库
更常见的是获取远程仓库(如 GitHub)的代码:
git clone <仓库地址>
这会将远程仓库完整复制到本地,包括所有历史记录。
📝 日常开发流程
日常开发通常围绕以下命令进行:
-
检查状态:查看哪些文件被修改、新增或未跟踪。
git status
-
添加更改:将文件的改动“打包”到暂存区,准备提交。
git add . # 添加所有更改过的文件 git add 文件名 # 添加特定文件
-
提交更改:将暂存区的改动正式保存为一个版本记录。
git commit -m "清晰描述本次提交的内容"
黄金法则:提交信息应清晰说明做了什么以及为什么这么做。
-
查看提交历史:
git log # 查看详细历史 git log --oneline --graph --all # 查看简洁的带分支图的历史
-
查看更改内容:在提交前,检查具体修改了哪些代码。
git diff # 查看工作区与暂存区的差异 git diff --staged # 查看暂存区与上次提交的差异
🌿 分支管理
分支是 Git 的杀手锏功能,让你能在不影响主线的情况下开发新功能。
-
创建并切换分支:
git checkout -b 新分支名 # 传统方式 git switch -c 新分支名 # 更语义化的新命令
-
查看分支:
git branch # 查看本地分支
-
切换分支:
git checkout 分支名 # 传统方式 git switch 分支名 # 新命令
-
合并分支:完成开发后,将特性分支合并回主分支(如
main
或master
)。git switch main # 先切换回主分支 git merge 特性分支名 # 将特性分支合并到当前分支
注意:合并时可能会遇到冲突,需要手动解决后再提交。
-
删除分支:
git branch -d 分支名 # 删除本地分支
☁️ 远程协作
本地代码需要与远程仓库(如 GitHub)同步以实现协作。
-
查看远程仓库:
git remote -v
-
推送更改:将本地提交推送到远程仓库。
git push -u origin 主分支名 # 首次推送时建立关联 git push # 建立关联后,后续推送简化
-
拉取更新:获取远程仓库的最新代码并合并到本地。
git pull origin 主分支名
良好习惯:开始工作前先
pull
一次,减少冲突可能性。
↩️ 撤销与回退
操作失误时,这些命令能帮你挽回。
-
撤销工作区的文件修改(谨慎使用,不可恢复):
git checkout -- 文件名
-
撤销暂存区的文件(将文件撤出暂存区,但保留工作区修改):
git reset HEAD 文件名
-
回退到某个提交(谨慎使用,会丢弃之后的提交):
git reset --hard 提交ID
提交ID可通过
git log --oneline
查看。
🏷️ 标签 (Tag)
标签用于标记重要的提交点(如版本发布)。
-
创建标签:
git tag -a v1.0.0 -m "版本1.0.0发布" # 推荐创建带注释的标签
-
查看标签:
git tag
-
推送标签到远程:
git push origin --tags # 推送所有标签 git push origin v1.0.0 # 推送单个特定标签
💡 总结:极简命令清单
下表汇总了最核心的命令,覆盖绝大多数场景:
场景 | 命令 |
---|---|
初始化/克隆 | git init |
git clone <url> |
|
日常提交 | git status |
git add . |
|
git commit -m "注释" |
|
分支操作 | git checkout -b 新分支名 |
git merge 分支名 |
|
远程协作 | git push |
git pull |
|
撤销修改 | git checkout -- 文件名 |