与产品斗争中积累下的Sourcetree使用技巧

我平时项目管理用的是git,使用的工具是Sourcetree。写这篇文章的目的就是要记录一些平时开发过程当中遇到的比较麻烦的问题。html

对于通常的push,pull,合并等内容就不进行记述了,估计哪都能找到。接下来就记录几个问题(会不断更新)。git

实例

1.如何去除某个分支中的某个提交?

使用回滚。对于需去除的commit提交。右击弹出弹窗,点击提交回滚,若是有冲突,即先解决冲突。没有冲突则直接提交推送。bash

屏幕快照 2020-03-06 下午2.57.52.png

2.如何去除某个分支中的某些提交?(如develop分支回退到以前的某个节点)

使用重置到XXXX提交的功能。在要重置的节点右击选择将xxx重置到此次提交的选项。如图工具

屏幕快照 2020-03-06 下午3.04.02.png

点击肯定spa

屏幕快照 2020-03-06 下午3.10.25.png

这时会发现你有x个提交能够拉取,这时候若是拉取就会恢复到以前的样子。 code

屏幕快照 2020-03-06 下午3.13.01.png

咱们是要回退这些提交到以前的节点,因此需选择推送,强制推送便可。cdn

屏幕快照 2020-03-06 下午3.14.47.png

3.如何删除某个分支合并的代码?

情景:如你的develop分支合并了feature/xxxx分支,可是这个功能忽然又被产品告知不要在这个版本上了,如何删除feature/xxxx分支合并进来的代码呢?htm

若是,这个分支合并以后的代码你都不须要了,都要丢弃,那么方法如2同样,直接回退到xxxx节点。若是这个合并以后的代码还有部分须要,可参考问题五的解决思路。blog

4.如何选择某个分支的部分代码进行合并提交?

情景:作需求的时候,你的功能分支中部分功能可能被产品临时告知要废弃,那么如何处理?项目管理

可以使用 git 的 cherry-pick 命令 如

git cherry-pick 4db0729d
复制代码

把那些要提交的节点选出来提交。

对于sourcetree 便是遴选功能。选择要被提交过来的节点,右击,选择遴选选项。

屏幕快照 2020-03-06 下午3.27.10.png

5.如何删除某个分支中的部分代码(如develop分支上有a,b,c,d,e五个提交,须要删除c,d两次提交)?

情景:好比你把某个功能已经合并到了你的开发分支,同时以后还提交了一些代码。可是这个功能忽然被告知要下架,这时候如何处理?

首先到达节点a,从该处拉出一个新分支如copy_develop,而后选择遴选b,e。在回到原来的develop分支,重置到a此次的提交。而后再把copy_develop分支的代码合并到develop分支便可。

参考文档

  1. www.jianshu.com/p/2bd317cf6…
  2. www.cnblogs.com/EchoHG/p/76…
相关文章
相关标签/搜索