2016-07-28 38 views
0

我已经分叉回购了一段时间,最近创建了一个新分支,进行了一些更改,并向原始仓库提交了一个请求。问题是,在进行更改之前,我完全忘记了使用上游repo更新远程副本(我认为Github Desktop中的“同步”在当时处理此问题)...所以,现在我的更改完全不相关,我我想重新开始。使用过时的分叉创建分支和提交的请求。现在怎么办?

我开始通过更新我的远程副本的主分支。但现在我有一个完全无用的分支,这是拉请求中的分支。

我应该怎么做,而不是像现在更像一个noob?

  • 我是否删除分支,并重新创建一个新分支?这将如何影响提交的公关?
  • 我是否用更新后的主人更新分支,然后处理所有冲突?
  • 我是否删除了分支中的所有更改然后重新开始?

我想避免创造更多的混乱比现在如此详细的步骤将在此情况下非常赞赏。如果这将是一个更清洁的过程,我不必担心重新开始。

回答

1

衍合分支上要建立你的PR上游分支(假设主)

$ git fetch upstream 
$ git rebase upstream/master 

解决所有冲突

您的分支强制推到原点

$ git push --force origin <branch name> 

公关将自行更新。

+0

啊好吧,所以我认为这是最类似于选项2.那么这将如何看待公关?以前的提交会消失还是另一个提交以前的提交? – pbreach

+0

'$ git rebase upstream/master'后我得到'首先,倒带头重播你的作品... 错误:下面未跟踪的工作树文件将被覆盖签出'与一些文件,然后'请移动或删除它们,然后才能切换分支。 正在中止'我只是删除那些文件呢? – pbreach

+1

您可以用'git clean -df'丢弃未跟踪的文件,或者以标准方式提交它们。当你有一个干净的头,然后做rebase。 PR的旧提交将会消失,如果对旧代码有任何评论,他们会说“评论过时的差异”。 – Finwe

相关问题