Git 新手最容易忽略的 5 个命令

举报
yd_223785715 发表于 2026/10/23 13:33:50 2026/10/23
【摘要】 刚学 Git 的时候,很多人只会 add、commit、push、pull 四件套。等真正开始协作,才发现有些"冷门"命令才是救命神器。下面这 5 个,是我踩过坑之后才真正学会的。 1. git stash:改到一半被叫去修 bug正在写功能,突然线上出 bug 要你切分支去修,但当前改动又不想提交。git stash 就是干这个的:一键把工作区改动"藏"起来,切分支修完 bug 回来,再 ...

刚学 Git 的时候,很多人只会 add、commit、push、pull 四件套。等真正开始协作,才发现有些"冷门"命令才是救命神器。下面这 5 个,是我踩过坑之后才真正学会的。

1. git stash:改到一半被叫去修 bug

正在写功能,突然线上出 bug 要你切分支去修,但当前改动又不想提交。git stash 就是干这个的:一键把工作区改动"藏"起来,切分支修完 bug 回来,再 git stash pop 恢复。

git stash            # 藏起当前改动
git stash list       # 查看藏了几份
git stash pop        # 恢复最近一份并删除记录

坑点:pop 有冲突时不会自动删除 stash 记录,先解决冲突再 git stash drop。

2. git reflog:reset 错了也不慌

git reset --hard 把提交弄丢了?别慌,git reflog 记录了 HEAD 的每一次移动,配合 git reset --hard <编号> 就能找回来。它相当于 Git 的"后悔药",reflog 默认保留 90 天。

git reflog
git reset --hard HEAD@{2}   # 回到 reflog 里记录的某个位置

3. git cherry-pick:只想要某一个提交

A 分支上有个提交修了个通用 bug,想拿到当前分支来,又不想整支合并。git cherry-pick <commit> 只把那一个提交"摘"过来,干净利落。

git cherry-pick 3a5f2c1

注意:摘过来会产生一个新的 commit id,原提交和新提交是两个对象,别指望它们"相等"。

4. git bisect:用二分法找 bug 是哪次提交引入的

“上个版本还是好的,这版就坏了”,中间隔了几十个提交,一个个试太蠢。git bisect 自动二分:你只需在每个中间版本上标记 good 或 bad,它帮你定位到第一次出问题的提交。

git bisect start
git bisect bad                 # 当前版本是坏的
git bisect good v1.2.0         # v1.2.0 是好的
# 按提示逐个测试并标记 good/bad
git bisect reset               # 定位到后退出

5. git worktree:同时开两个分支干活

切分支要暂存改动很烦?git worktree 让同一个仓库在另一个目录再检出一份工作区,两个分支并行,互不干扰。

git worktree add ../hotfix hotfix-branch
git worktree list
git worktree remove ../hotfix

结语

这 5 个命令的共同点:平时用不上,用上一次就值回票价。建议收藏这篇,下次手忙脚乱的时候回来翻。你在用 Git 时还踩过哪些坑?欢迎评论区交流。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。