如何从原始版本重新同步分叉

bAN*_*bAN 34 git merge forking github

我刚刚在 Github 上 fork 了一个项目。我进行了修改并发送了拉取请求。所有者将我的 fork 与主项目合并,然后进行了一些修改。所以现在我的 fork 没有更新主项目。我想念他在合并我的拉取请求后所做的修改。如何使用 Main 项目更新我的 fork?有没有办法在网络界面中做到这一点?

谢谢

Mec*_*ail 38

按照设计,分叉项目会创建一个单独的存储库,当原始存储库更改时,该存储库不会更新。但是,git手动更新非常容易。

您需要第三个存储库的帮助(您的本地副本就足够了)。有3个回购:

  • “上游”:Github 上上游项目的存储库。
  • “Origin”:您在 Github 上的 fork 存储库
  • “本地”:您计算机上的本地存储库。我假设你是通过使用 克隆 Fork 来创建它的git clone git@github.com:your-username/projectname.git,并且每个人都在使用 branch master

假设当前“Origin”和“Local”处于相同状态,并且“Upstream”领先 1 个或多个提交(合并和任何后续更改)。

首先将上游项目添加为Git 远程

git remote add upstream https://github.com/upstream-username/projectname.git
Run Code Online (Sandbox Code Playgroud)

然后将远程分支中的更改拉(意思是获取然后自动合并master到本地存储库的当前 ( master) 分支:

git pull upstream master
Run Code Online (Sandbox Code Playgroud)

现在您的本地存储库与upstream. 最后,将您的本地仓库推送到您的 Github 分支:

git push origin master
Run Code Online (Sandbox Code Playgroud)

现在一切都在同步。

  • 非常感谢..很遗憾,这可能无法在网络界面中实现.. (2认同)