Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git再基过程和替代方案_Git_Rebase - Fatal编程技术网

git再基过程和替代方案

git再基过程和替代方案,git,rebase,Git,Rebase,有一个github项目,我将其称为一个,我添加了非常特定的定制特性。随着作者对安全补丁和升级的改进,我将我的自定义功能重新设置为最新代码 我的自定义功能也是分层的,较低的层更通用,而依赖于较低层的较高层则变得非常具体 因此最终结果是,我的一些项目将使用+层1,其他项目将使用+层1+层2等 我的问题是,rebase是实现我想要实现的目标的正确方法吗?或者有没有一种更优雅的方法,在我做重新基址时,不必在脑海中处理整个源代码树。谢谢。好吧,如果说再基础是正确的方法,那就太过分了。当然,这是一个正确的方

有一个github项目,我将其称为一个,我添加了非常特定的定制特性。随着作者对安全补丁和升级的改进,我将我的自定义功能重新设置为最新代码

我的自定义功能也是分层的,较低的层更通用,而依赖于较低层的较高层则变得非常具体

因此最终结果是,我的一些项目将使用+层1,其他项目将使用+层1+层2等


我的问题是,
rebase
是实现我想要实现的目标的正确方法吗?或者有没有一种更优雅的方法,在我做
重新基址时,不必在脑海中处理整个源代码树。谢谢。

好吧,如果说再基础是正确的方法,那就太过分了。当然,这是一个正确的方法


另一种选择是合并。您拥有合并项目A分支的分支。每次从项目A更新分支时,您都会将更新的分支合并到您的分支。

git cherry pick
是一种替代方法。但是你仍然需要很好地了解提交图。如果你可以使用rebase而不需要太多或太困难的合并,我认为rebase比合并更好。。。