git revert -m 1之后的git push,不会推送任何东西

时间:2017-10-30 12:53:43

标签: git bitbucket

一位同行开发人员意外地合并了#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

我需要做些什么来推动这些变化?没有什么可以推动的,因为除非我随后在代码更改的基础上构建它,否则恢复并不是真正的改变?

1 个答案:

答案 0 :(得分:1)

这可能是由于我的混合工作模式导致的错误:我通常使用SourceTree但我无法使用它来恢复此合并,因为(从2.1.2.5开始)它没有办法指定合并父作为引用在还原合并时使用-m N恢复。当ST调用git命令行而不指定-m参数时,您只会收到错误。

我因此退出命令行去做,但我从未真正检查过feature_x分支的本地版本,我只是使用了SourceTree的“checkout existing”选项来切换分支,我认为这意味着我有一个当地的负责人并没有远程指向任何东西..