这几个有用的Git高级命令,你不应该不知道

156 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第23天,点击查看活动详情

864741.jpg

前言

作为一名成熟的bug生产工,我们可能每天都需要用到Git。关于Git的基本命令,很多优秀的文章已经总结的非常齐全。如果不满足使用基本命令 ,那么我们就一起来学几个逼格高的,如果你使用这些命令,其他人极有可能会认为你是Git专家👴👴👴

开玩笑开玩笑,不过如果你能在工作中使用,相信会帮助提高工作效率。

git checkout -

如果需要在不同的分支之间来回切换多次,我们就必须一遍又一遍地写git checkout branch-1git checkout branch-2。 下次需要重复切换分支的时候,不妨试试git checkout -,它会帮助我们快速的切换到前一个分支。

git add -p

我们可能经常甚至总是使用git add .来将修改提交到本地仓库,并且是全部的修改。但如果想要选择性的提交修改呢?或者,如果我们想在提交之前逐个执行所做的修改呢?

这个时候可以使用git add -p。这里的-p表示patch,使用这个命令的时候,我们所作的修改不会被一次性全部提交,而是会被拆分成小的patchGit会询问我们是否准备提交这些patch

git bisect

如果必须检查每一次提交的情况,那么你是如何找到第一个有问题的提交?git bisect可以帮助我们:

image.png

它的原理很简单,就是将代码提交的历史,按照两分法不断缩小定位到某一次代码提交。

首先需要输入git bisect start来启动查错,之后如果提交没有问题,就输入git bisect good来标识,如果提交有问题,就输入git bisect bad来标识,直到命令行提示xxx is the first bad commit就成功找到出问题的那一次提交了。然后就可以柑橘此次提交检查代码。最后使用git bisect reset命令退出查错过程。

git commit --amend

有时你提交过代码之后,发现一个地方改错了,你下次提交时不想保留上一次的记录;或者你上一次的commit message的描述有误,这时候你可以使用接下来的这个命令:git commit --amend

通过使用git commit --amend,我们可以更改最后一次提交消息,也可以向最后一次提交添加额外的更改。 但之后如果想提交更改,必须使用git push -f

git rebase -i HEAD~n

刚才提到如果想要修改上一次的commit message,我们可以使用git commit --amend。那如果想要修改再之前的呢?git rebase -i HEAD~n!该命令可以让我们返回到第n个提交,并通过输入edit来编辑想修改的提交。修改完之后,同样是使用git push -f来覆盖之前的修改

总结

  • 使用git checkout -快速切换到前一分支
  • 使用git add -p选择性提交修改
  • 使用git bisect快速找出第一次有问题的提交
  • 使用git commit --amend修改上一次的提交
  • 使用git rebase -i HEAD~n修改第n次提交