用了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另一个分支。两个分支同时工作,互不干扰。
文章来源:
王尘宇
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~