引导项目合并新更改

Bootstrapping Project Merge New Changes

我有 a project 让 DI 在 Android 中更容易使用 Dagger。它旨在 bootstrap(或改造)新项目,而不是用作库。因此,我鼓励用户重构项目的某些部分(包、class 名称等),我计划提供一个脚本来为他们​​做这件事。

我的问题是,一旦项目被 bootstrapped 使用这个,并且对原始代码进行了更改,它们如何集成上游更改?我想他们可以在初始提交之外创建一个分支,引入新的更改,然后重新定位到它,但是有没有更简单的解决方案?

首先,他们需要保留对该上游存储库的引用,类似于 triangular workflow 除了您不会通过 Pull Request 回馈 "upstream"(此处为 "template")回购:

这样就可以git fetch upstream,和自己的master比较upstream/master,甚至upstream/master和之前的upstream/master状态(fetch之前),为了检测您应该合并到当前代码库中的任何更改。

不建议重新设置基准,因为它会更改正在重新设置基准的分支的 SHA1,并会强制用户 git push --force his/her 分支到 origin 存储库。

upstream/master 合并甚至 cherry-pick 到正在开发的本地分支的侵入性较小,并且允许之后定期推送。