重置fork与当前原始项目相同(git)

时间:2013-07-18 17:42:29

标签: git

我在github.com上分叉了一个项目。开始编写代码。在我自己的分叉版本上提交并推送它。但是,原始项目的技术已更改,以便删除所有文件夹并创建新文件夹。我在我这边做了同样的事情,删除了文件夹并创建了新的文件夹和文件,但现在我无法执行拉取请求,因为它们已连接到原始项目的旧版本。如何更新我的fork,以便它与当前原始项目的版本相同?

2 个答案:

答案 0 :(得分:3)

如果您不需要保留您提交的提交,最简单的方法是删除您的本地存储库并重新执行项目。

如果您的提交是在master上完成的,并且您希望将其保留在backup_branch中,只需执行以下操作:

  • git checkout -b backup_branch master

然后,为了让你的fork与原始项目处于同一点,请执行:

  • git fetch //从远程存储库中获取新提交
  • git branch -D master //删除master分支(它只是像其他分支一样)
  • git checkout -b master origin/master //从远程master
  • 重新创建origin/master

如果需要,您还可以为master以外的其他分支重复此操作。

答案 1 :(得分:1)

您可能想要合并更改或重新开始。合并更改可以这样做:

git merge {remote}/{branch}

其中{remote}是指向上游存储库的git远程(如果origin为上游存储库,可能为git clone,而{branch}是您想要的分支合并来自的变化。如果你不知道这是什么,它很可能是master