一位同行开发人员意外地合并了#master;'在一个侧支' feature_x'使用www.bitbucket.org的在线界面。 ' feature_x'在几次迭代之前从主人那里分出来,并且从那以后一些相当多的wrk进入了它。因此合并是无意的,并且可能是不完整的,因为它在BitBucket中显示为灰色。
我现在试图撤消它;我已经完成git pull
以获取最新信息(此合并是最近的提交) - 我已切换到功能分支,然后是git revert -m 1 <hash>
。 Git已经在本地进行了还原,我可以在git日志中看到它,但是当我执行git push
时,它会说&#34;一切都是最新的&#34; www.BitBucket.org显示的提交列表中没有任何变化。
$ git log
commit 33333333
Author: CJ
Date: Mon Oct 30 12:25:55 2017 +0000
Revert "Merged master into feature_x"
This reverts commit 22222222, reversing
changes made to ffffffff.
commit 22222222
Merge: ffffffff aaaaaaaa
Author: PD
Date: Mon Oct 30 11:31:39 2017 +0000
Merged master into feature_x
commit ffffffff
Author: ZZ
Date: Sun Oct 15 14:38:59 2017 +0100
Some work blah blah
我需要做些什么来推动这些变化?没有什么可以推动的,因为除非我随后在代码更改的基础上构建它,否则恢复并不是真正的改变?
答案 0 :(得分:1)
这可能是由于我的混合工作模式导致的错误:我通常使用SourceTree但我无法使用它来恢复此合并,因为(从2.1.2.5开始)它没有办法指定合并父作为引用在还原合并时使用-m N
恢复。当ST调用git命令行而不指定-m
参数时,您只会收到错误。
我因此退出命令行去做,但我从未真正检查过feature_x
分支的本地版本,我只是使用了SourceTree的“checkout existing”选项来切换分支,我认为这意味着我有一个当地的负责人并没有远程指向任何东西..