【发布时间】:2019-05-12 18:35:28
【问题描述】:
我目前正在使用来自大型开源项目的分叉存储库的本地副本。为了便于导入,我不得不对本地开发副本进行一些更改,而不会干扰我的路径上的稳定版本的代码——基本上我做了几个相对而不是绝对的导入。
当我向上游提出拉取请求时,他们不会想要我对导入行所做的本地更改,但我确实想提交它们以用于我的 fork 工作副本。处理这种情况的最佳方法是什么?
【问题讨论】:
标签: git github version-control git-fork
我目前正在使用来自大型开源项目的分叉存储库的本地副本。为了便于导入,我不得不对本地开发副本进行一些更改,而不会干扰我的路径上的稳定版本的代码——基本上我做了几个相对而不是绝对的导入。
当我向上游提出拉取请求时,他们不会想要我对导入行所做的本地更改,但我确实想提交它们以用于我的 fork 工作副本。处理这种情况的最佳方法是什么?
【问题讨论】:
标签: git github version-control git-fork
您只需要在实际发出拉取请求时担心相对/绝对路径问题。
您可以继续在本地存储库上工作,也可以使用这些相对路径推送到分叉的存储库。但是当您准备好发出拉取请求时,您必须提交将这些相对路径更改为绝对路径的提交,然后将这些更改推送到您的分叉存储库,然后您可以使用绝对路径发出拉取请求路径。
之后,您可以执行 git revert 来添加另一个提交以撤消前一个提交 - 基本上是撤消您所做的那些更改(因此您可以返回使用相对路径而不是绝对路径)。
这可能是最简单的方法。您可能可以编写一个脚本,每次推送时都会自动执行此类操作,但我认为这对于这个问题来说太过分了。还请注意,我不是 git 专家,所以不妨考虑一下其他人对此主题的看法。
【讨论】: