Git高手不会告诉你的5个命令

王尘宇 实用技巧 1

用了Git五年,有一些命令是后来才学会的——早学会能省几百个小时。分享给用得上的朋友。

1. git bisect — 自动定位bug提交

场景:线上出了个bug,你知道三个月前的版本是好的,但中间交了三百个commit。git bisect用二分法自动帮你定位。标记一个"好"的commit和一个"坏"的commit,Git自动切到中间点让你测试,根据你的反馈继续二分。最多8步就能从256个commit里找到元凶。

2. git reflog — 救命的后悔药

reset --hard之后发现搞错了?reflog能让你找回"丢失"的commit。它记录了HEAD的所有移动历史,默认保留90天。找到你要恢复的commit hash,checkout过去就行。

3. git stash push -m "备注"

stash不只是暂存。加-m参数打备注,避免半年后面对一堆stash@{0}、stash@{1}不知道哪个是哪个。git stash list看一眼备注就知道当时在干什么。

4. git log -S "搜索的代码"

想知道某段代码什么时候被加进来的?不用翻历史。git log -S直接搜索代码变更历史,返回所有涉及这段代码的commit。

5. git worktree — 同时开多个分支

正在改feature-A,突然要修一个线上的紧急bug。以前要先stash或者commit,现在用worktree直接在新目录checkout另一个分支。两个分支同时工作,互不干扰。

标签: Git 开发技巧 版本控制 效率提升

发布评论 0条评论)

  • Refresh code

还木有评论哦,快来抢沙发吧~