Git 是开发者的必备工具,它能够高效地进行版本控制、协作和项目管理。但要掌握 Git,需要理解其强大的命令和工作流程。这份备忘单提炼了最重要的 Git 命令和技巧,帮助您像专业人士一样管理代码库。
Git 入门
1. 初始化 Git 仓库
要开始用 Git 跟踪项目,请初始化一个新的仓库:
git init
2. 克隆仓库
将现有的仓库复制到您的本地机器:
git clone <repository-url>
3. 检查状态
查看您仓库的当前状态:
git status
处理更改
4. 添加更改
将文件暂存以备下次提交:
git add <file> # 添加特定文件
git add . # 添加所有更改
5. 提交更改
用描述性信息保存您的更改:
git commit -m "您的提交信息"
6. 查看提交历史
检查仓库中的历史提交:
git log # 详细日志
git log --oneline # 简洁的单行摘要
分支管理
分支允许您独立地处理功能或修复。
7. 创建新分支
git branch <branch-name>
8. 切换分支
git checkout <branch-name>
9. 创建并切换分支
git checkout -b <branch-name>
10. 合并分支
将一个分支的更改整合到另一个分支:
git merge <branch-name>
11. 删除分支
git branch -d <branch-name> # 合并后删除
git branch -D <branch-name> # 强制删除
与远程仓库协作
12. 添加远程仓库
git remote add origin <repository-url>
13. 推送更改
将提交发送到远程仓库:
git push origin <branch-name>
14. 拉取更改
从远程仓库检索更改:
git pull origin <branch-name>
15. 获取更新
查看远程更改但不合并:
git fetch
撤销更改
16. 丢弃未暂存的更改
git checkout -- <file>
17. 取消暂存文件
将文件从暂存区移除但不删除:
git reset <file>
18. 重置提交
撤销提交但保留更改:
git reset --soft HEAD~1 # 撤销上次提交但保留暂存更改
git reset --mixed HEAD~1 # 撤销上次提交并取消暂存更改
git reset --hard HEAD~1 # 撤销上次提交并丢弃更改
储藏工作
19. 储藏更改
临时保存未提交的工作:
git stash
20. 应用储藏的更改
git stash apply
21. 查看储藏列表
git stash list
检查和比较
22. 查看差异
比较工作目录和暂存区的更改:
git diff
比较暂存更改与上次提交:
git diff --staged
23. 比较分支
git diff <branch1>..<branch2>
重写历史(谨慎使用!)
24. 修改最后一次提交
git commit --amend -m "更新的提交信息"
25. 重写提交历史
交互式变基允许您编辑多个提交:
git rebase -i HEAD~n
处理冲突
26. 解决合并冲突
当发生冲突时:
-
编辑冲突文件。
-
标记冲突为已解决:
git add <file>
-
完成合并:
git commit
高级技巧
27. 使用别名
加速常用命令:
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
28. 大型仓库的浅克隆
仅克隆最新提交:
git clone --depth=1 <repository-url>
29. 拣选提交
应用来自另一个分支的特定提交:
git cherry-pick <commit-hash>
30. 二分查找定位错误
确定引入错误的提交:
git bisect start
git bisect bad # 标记当前提交为错误
git bisect good <commit-hash> # 标记已知正确提交
Git 使用最佳实践
-
频繁提交:较小的、专注的提交更易于审查和回滚。
-
编写描述性提交信息:清晰地描述您所做的更改及其原因。
-
合理使用分支:为功能、修复和实验创建分支。
-
推送前先拉取:通过在推送前与远程同步来避免冲突。
-
不要提交机密信息:使用
.gitignore
排除 API 密钥等敏感信息。
结论
掌握 Git 不仅在于记忆命令;更在于理解工作流程、高效解决冲突和无缝协作。有了这份备忘单,您已经准备好像专业人士一样使用 Git。无论您是在管理个人项目还是为大型仓库贡献代码,这些命令和技巧都将使您的版本控制体验更加顺畅和强大。