Bootstrapping项目合并新的变化

时间:2016-01-11 04:49:05

标签: java git version-control bootstrapping

我有a project使得在Android中使用Dagger更容易使用DI。它旨在引导(或改进)新项目,而不是用作库。因此,我鼓励用户重构项目的某些部分(包,类名等),并且我计划提供一个脚本来为它们做这些。

我的问题是,一旦项目使用此项目进行了自举,并对原始代码进行了更改,它们如何整合上游变更?我想他们可以在初始提交时创建一个分支,引入新的更改,然后重新绑定到它,但是有更简单的解决方案吗?

1 个答案:

答案 0 :(得分:1)

首先,他们需要保留对上游回购的引用,类似于triangular workflow,除非您不会通过Pull Request回馈给“上游”(此处“模板“)回购:

https://cloud.githubusercontent.com/assets/1319791/8943755/5dcdcae4-354a-11e5-9f82-915914fad4f7.png

这样,您可以git fetch upstream,并将upstream/master与您自己的主人,甚至upstream/master和之前的upstream/master州(提取前)进行比较,按顺序排列检测您应该加入当前代码库的任何更改。

不建议重新引用,因为它会更改正在重新分支的分支的SHA1,并会强制用户git push --force他/她的分支到origin个回购。

upstream/master到正在开发的本地分支的合并甚至樱桃选择都不那么具有侵入性,并允许随后进行定期推送。