我平时项目管理用的是git,使用的工具是Sourcetree。写这篇文章的目的就是要记录一些平时开发过程当中遇到的比较麻烦的问题。html
对于通常的push,pull,合并等内容就不进行记述了,估计哪都能找到。接下来就记录几个问题(会不断更新)。git
使用回滚。对于需去除的commit提交。右击弹出弹窗,点击提交回滚,若是有冲突,即先解决冲突。没有冲突则直接提交推送。bash
使用重置到XXXX提交的功能。在要重置的节点右击选择将xxx重置到此次提交的选项。如图工具
点击肯定spa
这时会发现你有x个提交能够拉取,这时候若是拉取就会恢复到以前的样子。 code
咱们是要回退这些提交到以前的节点,因此需选择推送,强制推送便可。cdn
情景:如你的develop分支合并了feature/xxxx分支,可是这个功能忽然又被产品告知不要在这个版本上了,如何删除feature/xxxx分支合并进来的代码呢?htm
若是,这个分支合并以后的代码你都不须要了,都要丢弃,那么方法如2同样,直接回退到xxxx节点。若是这个合并以后的代码还有部分须要,可参考问题五的解决思路。blog
情景:作需求的时候,你的功能分支中部分功能可能被产品临时告知要废弃,那么如何处理?项目管理
可以使用 git 的 cherry-pick 命令 如
git cherry-pick 4db0729d
复制代码
把那些要提交的节点选出来提交。
对于sourcetree 便是遴选功能。选择要被提交过来的节点,右击,选择遴选选项。
情景:好比你把某个功能已经合并到了你的开发分支,同时以后还提交了一些代码。可是这个功能忽然被告知要下架,这时候如何处理?
首先到达节点a,从该处拉出一个新分支如copy_develop,而后选择遴选b,e。在回到原来的develop分支,重置到a此次的提交。而后再把copy_develop分支的代码合并到develop分支便可。