5个实用的 Git 技巧,提升你的开发效率

| | 102 次浏览

前言

Git 是日常开发中不可或缺的工具,但很多人可能只停留在 addcommitpush 的阶段。其实,Git 还隐藏着许多能大幅提升效率的“魔法”命令。今天分享 5 个实用的 Git 技巧,帮助你在处理复杂代码版本时更加得心应手。

1. 使用 git stash 临时存放修改

正在专心写代码时,突然被告知线上有个紧急 Bug 需要修复,但当前手头的工作还没写完,不想产生一次“半成品”的提交。这时候,git stash 就是你的救星。

它能将你工作区和暂存区的未提交修改暂时保存起来,让你的工作目录恢复到干净状态。

# 保存当前进度
git stash

# 切换到其他分支修复 Bug...

# 回来后恢复进度
git stash pop

小贴士: 可以使用 git stash save "修复登录逻辑" 为你的储藏添加备注,方便后续查找。

2. 使用 git commit --amend 修改最后一次提交

刚敲完 git commit,突然发现拼写错了提交信息,或者忘记了 git add 某个小文件。这时候不需要再额外增加一个“修复错别字”的提交,直接用 --amend 就能修改最近一次提交。

# 添加遗漏的文件
git add forgotten_file.txt

# 修改提交(如果不加 -m,会打开编辑器修改原信息)
git commit --amend --no-edit

注意: 如果该提交已经 push 到了远程公共分支,请尽量避免使用 amend,以免引起协作者的提交历史冲突。

3. 使用 git reflog 找回“丢失”的提交

有时候在进行 reset --hard 或者变基操作后,可能会觉得“哎呀,我把重要代码弄丢了”。别慌,Git 几乎不会真正丢失数据。

git reflog 记录了 HEAD 和分支指针在本地仓库中的每一次移动。通过它,你可以找到那个“丢失”的 commit hash,然后重置回去。

git reflog
# 输出示例:
# 7d3a2f1 HEAD@{0}: reset: moving to 7d3a2f1
# a1b2c3d HEAD@{1}: commit: 重要的修改

# 找回之前的提交
git reset --hard a1b2c3d

4. 使用 git bisect 二分查找 Bug

当你发现代码突然跑不通了,但不知道是哪一次提交引入的 Bug 时,逐个 commit 去排查简直是一场噩梦。git bisect 提供了一个自动化的二分查找法。

# 开始二分查找
git bisect start

# 标记当前版本为有 Bug
git bisect bad

# 标记一个确认正常的旧版本(例如:v1.0.0)
git bisect good v1.0.0

Git 会自动为你切换到中间的提交。你测试后告诉 Git 这个版本是好是坏(git bisect goodgit bisect bad),重复几次,Git 就能帮你精准定位到导致问题的那一行代码提交。最后用 git bisect reset 结束查找。

5. 使用交互式变基整理提交历史

在发起 Pull Request 前,我们常常想把几个零碎的提交合并成一个干净整洁的提交。交互式变基能够帮你实现这一点。

# 合并最近的 3 次提交
git rebase -i HEAD~3

运行后,终端会弹出一个文本编辑器,列出这 3 次提交。你可以将除了第一行以外的 pick 改为 squash(或者简写为 s),保存退出。接着 Git 会让你编辑合并后的提交信息。

pick 1a2b3c 第一次提交
squash 4d5e6f 修复拼写
squash 7g8h9i 补充注释

结语

Git 的强大远不止于此,掌握这些进阶技巧,不仅能让你在遇到突发状况时游刃有余,更能让你的代码仓库历史保持清爽。选择一两个你平时觉得最头疼的场景,尝试用这些命令解决吧!

评论(1)

彭存福
2026-07-17 07:22
写得好