【问题标题】:Apply changes from a repo to its fork?将来自 repo 的更改应用到其 fork?
【发布时间】:2015-12-22 10:45:31
【问题描述】:

所以我最初克隆了一个存储库,认为我不会进行更改,最终决定分叉我自己的副本供个人使用(它是一个 dotfiles 存储库)。如果我想继续从分叉进行更改,将本地提交从原始克隆复制到分叉存储库的最干净的方法是什么?

环顾四周,找不到我想要的。

澄清:

我的计算机上现在有两个 repo,一个是原始 repo 的克隆,另一个是来自同一个 repo 的 fork。我对克隆进行了更改,但希望将这些本地提交移至 fork。

【问题讨论】:

  • 你能在这里更具体一点吗?您是否希望在某个分支上从原始仓库到分叉的分支上引入新的提交?
  • @TimBiegeleisen:当然,我添加了一个额外的说明。

标签: git version-control


【解决方案1】:

执行此操作的常用方法是使用 git pull,就像您想要合并来自另一个 repo 的任何提交一样。

【讨论】:

  • 不确定这是我要找的。你是说我可以/应该只是将我克隆的 repo 中的提交拉到我的分叉中吗?这在本地可行吗?
  • 我仍然没有得到你的建议。由于 git 管理更改的方式,我认为您无法跨越 repos。你是说它应该在这种情况下工作吗?类似于 stackoverflow.com/questions/4131164/… 的东西,除了有 2 个不同的 repos 并且不需要 ssh?
  • 嗯,我想就是这么简单。打算再四处寻找以确认,但我认为这和解决一样好。历史记录:分叉回购中的git pull /path/to/cloned/repo 成功了。
  • 一个 fork 和一个 repo 是 almost the same thing,所以你实际上只是在谈论将提交从一个转移到另一个,就像任何两个 repo 一样。
【解决方案2】:

假设你有 R 的主 Repo,C 的原始克隆和 F 的当前 Fork。你想要从 C 到 F 的更改,而不干扰 R。

您可以通过设置远程上游并同步您的分叉来实现此目的。

步骤 1。设置上游参考:https://help.github.com/articles/configuring-a-remote-for-a-fork/ 坐在 F 的分支中,您可以将上游(或您想要的任何其他名称)设置为 C。 运行:

git checkout <branch of F>
git remote add upstream <repo URL for C>
git remote -v

步骤 2。同步你的分叉。参考:https://help.github.com/articles/syncing-a-fork/ 运行:

git checkout <branch of F>
git fetch upstream
git merge upstream/<branch of C>

这应该会将 C 更改为 F。只要确保在 git 命令中提及正确的分支即可。

【讨论】:

    猜你喜欢
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-21
    • 2017-05-26
    • 1970-01-01
    • 2016-12-05
    • 2015-06-01
    相关资源
    最近更新 更多