文章目录
- 前言
- 一、基础配置
- 二、仓库的创建与克隆
- 三、日常提交三件套
- 四、分支管理
- 五、远程仓库操作
- 六、撤销与回滚
- 七、查看历史与差异
- 八、团队协作最佳实践
- 九、常见问题排查
- 总结
前言
Git 是当今最流行的分布式版本控制系统,几乎每一位开发者的日常工作都离不开它。然而很多人在使用 Git 时,往往只会add、commit、push三板斧,一旦遇到冲突、回滚、分支管理等场景就容易手忙脚乱。
本文整理了一份 Git 常用命令速查手册,并结合团队协作场景给出最佳实践,帮助你更高效、更安全地管理代码版本。
一、基础配置
首次使用 Git 时,需要配置用户名和邮箱,它们会记录在每一次提交中。
# 全局配置gitconfig--globaluser.name"Your Name"gitconfig--globaluser.email"you@example.com"# 查看当前配置gitconfig--list建议同时配置默认分支名与换行符处理:
gitconfig--globalinit.defaultBranch maingitconfig--globalcore.autocrlf input二、仓库的创建与克隆
# 初始化本地仓库gitinit# 克隆远程仓库gitclone https://github.com/user/repo.git# 克隆指定分支gitclone-bdev https://github.com/user/repo.git三、日常提交三件套
# 查看当前状态gitstatus# 将改动添加到暂存区gitadd.gitaddfilename.txt# 提交gitcommit-m"feat: 新增登录功能"小技巧:使用
git commit -am "msg"可以跳过git add,直接提交已被跟踪文件的改动。
四、分支管理
分支是 Git 的核心能力之一,合理的分支策略能让协作事半功倍。
| 命令 | 说明 |
|---|---|
git branch | 查看本地分支 |
git branch -a | 查看所有分支(含远程) |
git branch dev | 创建分支 |
git checkout -b dev | 创建并切换分支 |
git switch -c dev | 创建并切换分支(推荐的新语法) |
git merge dev | 将 dev 分支合并到当前分支 |
git branch -d dev | 删除本地分支 |
五、远程仓库操作
# 关联远程仓库gitremoteaddorigin https://github.com/user/repo.git# 推送并建立追踪关系gitpush-uorigin main# 拉取远程更新gitpull origin main# 查看远程地址gitremote-vgit pull实际上等价于git fetch+git merge,理解这一点有助于排查拉取冲突问题。
六、撤销与回滚
这是最容易出错、也最需要谨慎的部分。
# 撤销工作区的修改(尚未 add)gitcheckout -- file.txt# 取消暂存(已 add,尚未 commit)gitreset HEAD file.txt# 修改最近一次提交信息gitcommit--amend-m"新的提交信息"# 回退到指定提交,保留改动到暂存区gitreset--soft<commit-id># 彻底回退(危险,会丢失改动)gitreset--hard<commit-id># 生成一个反向提交来撤销某次提交(安全,推荐)gitrevert<commit-id>注意:
git reset --hard会丢弃未提交的改动,执行前请务必确认。
七、查看历史与差异
# 以图形化方式查看提交历史gitlog--oneline--graph--all# 查看某个文件的修改历史gitlog-pfilename.txt# 查看工作区与暂存区的差异gitdiff# 查看暂存区与最新提交的差异gitdiff--cached八、团队协作最佳实践
- 提交信息规范化:采用
feat/fix/docs/refactor等前缀,便于生成变更日志。 - 小步提交:每次提交只做一件事,方便回溯与回滚。
- 及时拉取:开始工作前先
git pull,减少冲突概率。 - 分支命名清晰:如
feature/login、bugfix/order-null。 - 提交前检查:
git status加git diff确认改动范围。 - 善用
.gitignore:避免把日志、依赖、密钥等无关文件提交到仓库。
九、常见问题排查
- 冲突了怎么办?打开冲突文件,解决
<<<<<<<标记后执行git add再git commit。 - 提交错了分支?用
git cherry-pick <commit-id>把提交搬到正确的分支。 - 误删分支能恢复吗?用
git reflog找到提交记录后重建分支。 - push 被拒绝?一般是因为远程有新提交,先
git pull --rebase再推送。
总结
Git 的命令看似繁多,但日常真正高频使用的其实只有二十来个。掌握了本文的速查命令与协作实践,应对绝大多数开发场景就已经足够。
建议把常用命令配置成别名(例如git config --global alias.st status),长期来看能显著提升效率。
如果本文对你有帮助,欢迎点赞、收藏、评论三连支持一下~