首页 > 解决方案 > 使用 git 将我的更改与上游代码分开

问题描述

我们有一个供应商构建和维护一个项目,并通过只读 git repo 与我们共享它。项目中可能会定期出现一些更新(错误、政策等),我们会在这些更新时收到通知。但是,我们也在向项目添加我们自己的自定义更改。

这是我的想法:

  1. 创建我自己的在线存储库以保存更改。
  2. 将供应商代码按原样推送到我的在线存储库中的“主”分支中。
  3. 创建一个新的远程分支“自定义”,我们在其中进行并推送我们的更改。
  4. git merge master每当供应商代码更新并解决更改时运行。

这是一个合理的方法吗?有更好的吗?请注意,我们都是 git 的菜鸟,具有不同程度的编程经验,因此易用性是重中之重。

编辑:我刚刚发现我们可以为不同的分支机构提供不同的遥控器。这意味着我们可能不需要第 2 步。

标签: gitversion-control

解决方案


您的方法是合理的:您需要两个分支:

  • upstream/master从上游供应商存储库获取后
  • origin/master:您自己的主分支推送到您自己的远程存储库,其中包括您的更改。

那将使用不同的遥控器(即使在分叉的上下文之外)

您可以随时使用git merge upstream/master


推荐阅读