故障排查技巧
本节将介绍一些常见的 Git 问题排查和解决技巧,帮助你快速定位和解决问题。
提交相关问题
撤销最近的提交
# 保留修改 git reset --soft HEAD^ # 丢弃修改 git reset --hard HEAD^
修改提交信息
# 修改最近的提交信息 git commit --amend -m "新的提交信息" # 修改历史提交信息 git rebase -i HEAD~3
分支问题
找回已删除的分支
# 查看分支的最后一次提交 git reflog # 恢复删除的分支 git checkout -b 分支名 提交ID
解决分支混乱
# 查看分支关系 git log --graph --oneline --all # 重置分支到指定提交 git reset --hard 提交ID
合并冲突
预防冲突
# 在合并前查看可能的冲突 git merge --no-commit --no-ff 分支名 # 取消试验性合并 git merge --abort
解决冲突
# 使用图形化工具 git mergetool # 标记冲突已解决 git add 文件名
性能问题
仓库变慢
# 检查大文件 git rev-list --objects --all | git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' | sort -nr -k3 # 压缩仓库 git gc --aggressive --prune=now
网络问题
# 测试连接 git ls-remote origin # 设置代理 git config --global http.proxy http://proxy-server:port
数据恢复
恢复删除的文件
# 从最近的提交恢复 git checkout HEAD -- 文件名 # 从特定提交恢复 git checkout 提交ID -- 文件名
恢复已清理的修改
# 从 reflog 恢复 git reflog git reset --hard HEAD@{1}
最佳实践
- 定期备份仓库
- 保持良好的提交习惯
- 及时处理冲突
- 使用合适的工具辅助排查
- 记录常见问题的解决方案