使用 git 将我的更改与上游代码分开

Keeping my changes separate from upstream code using git

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

这是我的想法:

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

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

编辑:我刚刚发现我们可以为不同的分支设置 different remotes。这意味着我们可能不需要步骤 #2。

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

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

那将使用 (即使在分叉上下文之外)

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

协调更改