Github 有办法让你的 fork 与克隆的 repo 同步吗?

Does Github have a way to synchronize your fork with cloned repo?

Github 是否提供了一种方法来同步 Github 存储库的分支与源存储库中的更改?

例如说我 fork 一个 repo,并将 master 重命名为 upstream 我想与源 repo 的更改保持同步,可以 Github 同步我的 upstream 与源回购的 master 定期?

是的,您可以同步它——这叫做合并。您可以随时将您的分支与 master 分支合并,但是如果有任何冲突(不兼容)——您将不得不手动修复它们。

例如,在您的源文件夹中,假设 Github 已经配置:

git checkout upstream
git merge master

正如我已经提到的,如果您在分支中更改某些内容并且主分支更改相同的代码行 – 自动合并将不起作用,您将必须手动决定要保留的版本。

不,github不提供。相反,您可以在本地实现它。

首先,创建本地存储库,添加您自己的远程并检索它。

git init
git remote add origin git@github.com:<username>/<repo>.git
git pull origin master

下一步,向您的存储库添加一个远程分支,该分支指向您从中分叉的原始存储库。

git remote add --track master <repo-name> git://github.com/<username>/<source-repo>.git

请注意,master 将是您要在分叉回购中跟踪的分支。 <repo-name> 由你决定。如果您想验证,只需 运行 git remote 并且您必须看到 <repo-name>origin 作为输出。

现在,您已准备好从原始存储库获取所有新更改。

git fetch <repo-name>

将使用最新更改创建一个名为 <repo-name>/master 的新分支。