【问题标题】:Merge original repo updates into a private cloned/forked repo [duplicate]将原始存储库更新合并到私有克隆/分叉存储库 [重复]
【发布时间】:2021-11-04 02:29:21
【问题描述】:

我的目标是克隆或分叉一个项目以对其进行修改,但我想继续受益于对原始项目所做的更新(来自主分支或其他分支)并将它们合并到我自己的私人仓库中。

创建一个分叉会强制 repo 公开,这不是一个选项

最好的做法是什么?合并来自同一项目的其他分支的更新怎么样?

现在我所做的是下载源代码并使用它设置一个新的 repo。这当然意味着每当我想应用更新时,我都必须下载更新的文件并用这些文件覆盖我的文件,这并不理想,因为如果我在我的仓库中修改相同的文件,我必须对每个文件进行相同的修改我想更新。一定有办法做到这一点,但经过几个小时的谷歌搜索,我还没有找到我要找的东西

【问题讨论】:

标签: git github


【解决方案1】:

我的方法如下(对于分叉的存储库):

git remote add upstream {{upstream-url}} # Point to the original repo

git merge --no-commit upstream # Merge changes from upstream with no auto commit

# Review changes...

git commit # Commit changes (no comment required)

【讨论】:

  • 如何将文件“合并”在一起?说,我有一个从原始项目修改的文件。对项目的提交会更新该文件。合并提交会覆盖我的文件,但我想要的是保留我的更改和原始更改(假设它们不会引起冲突)
  • 如果有一些本地更改,Git 不会合并任何内容。在这种情况下,您必须隐藏或提交它们才能继续合并。
  • 啊当然,我怎么能忘记那个:facepalm:
  • 让我知道我的解决方案是否有效。问候
  • 遇到了一些麻烦,但我终于设法让它完全按照我的意愿工作。我必须使用 --allow-unrelated-histories 来使其工作
猜你喜欢
  • 2012-05-03
  • 2013-06-04
  • 1970-01-01
  • 2020-09-23
  • 2013-11-06
  • 1970-01-01
  • 1970-01-01
  • 2013-08-25
  • 2017-08-18
相关资源
最近更新 更多