因此,假设发生以下情况(并且我们都在使用SourceTree):
- 我们都在努力起源/发展。
- 我去度假一个星期。
- 我的同事在过去的几天里一直在本地工作,而没有将起源/开发重新合并到他的本地开发分支中。
- 他尝试进行推动,并被告知必须先合并,然后再进行牵引。
- 他遇到了冲突,阻止了自动合并后继续进行。
- 假设Git类似于SVN,我的同事将“新”文件丢弃在他的工作副本中,然后提交合并-从起源/开发部门清除这些“新”文件。
- 在该修订版的基础上,还需要进行为期数周的开发工作。
- 我从假期回来,发现我缺了几天的工作。
我们对Git都是非常陌生的(这是我们使用它的第一个项目),但是我所做的修复工作是:
- 将“ develop”重命名为“ develop_old”。
- 将develop_old合并到新的分支“ develop_new”。
- 将dev_new分支重置为错误合并之前的最后一次提交。
- 从那时起,Cherry逐一挑选每个提交,以手工解决冲突。
- 将develop_old和develop_new推到起点。
在这一点上,我希望develop_new是我们所有更改的“好”副本,并重新应用了随后的数周工作。我也假设说,“反向承诺”会做一个合并奇怪的事情,尤其是接下来的几个星期的工作价值是基于它-因为该合并包含了很多的事情,我们也有东西,我们不要想一起t。
我希望这种情况再也不会发生,但是如果再次发生,我想知道一种更轻松/更好的解决方法。当基于该合并的回购中进行了大量工作时,是否有更好的方法来撤消“不良”合并?
git log
格式的输出,并附上有关各种提交所发生情况的适当注释?(我要编辑/注释git log --graph --pretty=oneline --abbrev-commit
并从那里