2015-11-03 85 views
1

假设我一直在本地分店工作一周。现在我准备上传代码审查,但首先我想更新我的主分支,然后重新绑定我的本地分支。有没有办法在不切换分支的情况下运行git rebase --abort?

所以,更新我的主分支后,我跑:

git rebase master mybranch 

嗯,哦!我越来越多的合并冲突。我想用合并,也许rebase - 去,或其他类似的东西,而不是重新绑定。

于是我运行:

git rebase --abort 

现在,这里的问题 - 中止后,它会检查出来mybranch。

我不希望它那样做。有没有办法运行“git rebase --abort”,但是将“master”退出?

可能的原因,为什么不:

  • 的档案库有大量的文件,它是缓慢的,检查他们全力以赴。
  • 我刚刚从源代码编译“主”,它需要一段时间才能编译。检出上周的代码意味着从头开始重新编译。

回答

1

它不会中止之后退房mybranch;检查mybranch是它的第一件事。从git-rebase(1)

git rebase [-i | --interactive] [options] [--exec <cmd>] [--onto <newbase>] 
    [<upstream> [<branch>]] 

... 

If <branch> is specified, git rebase will perform an automatic git 
checkout <branch> before doing anything else. Otherwise it remains on 
the current branch. 

这里,mybranch<branch>,所以无论你中止或继续重订,它已经签出mybranch劈头。

+0

这就是它说的,但这不是它在实践中的作用。 – dmazzoni

+0

我刚刚通过检查出分支'foo',运行'git rebase foo master',知道它会在冲突时失败,现在'git分支'告诉我我是主人。没有中止或继续运行,它已经检出了主分支。 (重要的是Git 2.6.2) –

相关问题