当提到Git,除了基本的pull
和push
之外,还有一些命令可以帮助提升效率。以下是5个提升效率的Git命令
stash:存储临时代码
git stash save "修 bug 之前的中断点
"
这个命令会把你当前的改动保存起来,包括工作区和暂存区的内容。这样你就可以切换到其他分支去修 bug 了
git stash list
用这个命令可以看到所有 stash 的内容,方便你找到刚刚存储的那一个
git stash pop
恢复刚才的改动,pop 命令会把存储的改动应用到当前分支,并从 stash 列表中删除。要是你不想删,可以用 git stash apply
进阶玩法
git stash save --keep-index "仅存储工作区的改动"
这个命令就比较灵活了,适合一些特殊场景,比如你暂存了一部分改动,但还没提交
git stash save -u "包含未跟踪文件的改动"
一般情况下,stash 不会存储未跟踪文件,用这个命令可以把这些文件也一并保存起来。
reset --soft:软回溯
- 描述: 提交后发现有些东西没写好,或者不该提交上去,怎么办?来个软回溯,把 commit 回滚,但保留修改。
git reset --soft HEAD^
这个命令会让你的 HEAD 回到上一个 commit,但是工作区和暂存区的改动都会保留。这样你可以继续修改,再重新提交
git reset --soft
这个命令更强大,可以回滚到任何一个 commit,同样保留改动。
cherry-pick:复制 commit
- 描述: 开发分支上写了个牛逼的功能,想赶紧拿到主分支上炫耀?用 cherry-pick,把指定的 commit 应用到当前分支。
git cherry-pick
这个命令会把指定的 commit 应用到当前分支,相当于复制了一份改动。非常适合从一个分支把特定改动拿到另一个分支。
git cherry-pick --continue
如果 cherry-pick 过程中有冲突,解决完冲突后用这个命令继续。
git cherry-pick --skip
这个命令会跳过当前冲突的 commit,继续应用后面的 commit。
revert:撤销 commit
- 描述: 误提交了个 bug,想撤销但不破坏历史记录?revert 就是你的救星。
git revert
这个命令会生成一个新的 commit,反向应用指定的 commit,从而撤销之前的改动。这样历史记录保持完整,非常优雅
reflog:记录 commit 历史操作
- 描述: 这个命令会列出所有的操作记录,包括那些你以为丢失的 commit。每个操作都有一个索引值,可以根据索引恢复到任意一个历史操作点。
以后别再天天只会 pull 和 push 了,学会这些高级命令,工作效率提升不说,还能在团队里装 X,成为大家眼中的 Git 高手