如何合并来自其他git存储库的部分更改
我有一个带有Android内核v3.0.36的git存储库。 但是现在,Linux3.0.38已经过时了。Android和主线Linux是不兼容的,所以我只想从3.0.37和3.0.38中提取更改(只是更改的一小部分)。我不想做其他改变如何合并来自其他git存储库的部分更改,git,Git,我有一个带有Android内核v3.0.36的git存储库。 但是现在,Linux3.0.38已经过时了。Android和主线Linux是不兼容的,所以我只想从3.0.37和3.0.38中提取更改(只是更改的一小部分)。我不想做其他改变 我正在使用Github。我看到很多人的日志是这样的: net:无线:bcm4329:修复未知转义“%” 90fcf01d79浏览代码 Choi,Jong Hwan于8个月前撰稿 xxx于3个月前承诺 他们怎么能做到呢?我该怎么做呢?就像在“”中一样,您可以在v3
我正在使用Github。我看到很多人的日志是这样的: net:无线:bcm4329:修复未知转义“%” 90fcf01d79浏览代码 Choi,Jong Hwan于8个月前撰稿 xxx于3个月前承诺 他们怎么能做到呢?我该怎么做呢?就像在“”中一样,您可以在v3.0.36之间创建一条路径。和3.0.38,指定您在一次回购中感兴趣的子目录
git diff tag1 tag2 -- /path/to/subdir > the-patch.diff
这个想法是,你可以将一个差异应用到另一个回购
关于GitHub,同样的机制也适用于:一旦您在本地进行了修补,您就可以推送到我们的GitHub回购协议,它应该是一个,然后发出拉取请求
作为注释,
git diff
将丢失与提交相关的注释。git格式的补丁
是一个更好的解决方案(我投票支持fork的)。只有当您意识到时,我才会考虑<代码>樱桃拾取>代码>。
这是gregkh完成的pull请求的结果,edoko接受了该请求。您可以获取存储库中的另一个分支,并选择所需的提交。请参见
git cherry pick
,或者参见git show--pretty=email | git am-3
,或者甚至参见git格式补丁-o/tmp v3.0.37..v3.0.38
,然后是git am-3/tmp/
,了解我正在使用的有趣且可能经过编辑的补丁。我看到很多人可以很容易地做到这一点。我需要在Github上看到这样的日志:net:wireless:bcm4329:Fix Unknown escape“%”Choi,Jong Hwan在8个月前撰写,有人在3个月前犯了罪@比尔盖子 : 我已经编辑了我的答案。您还可以提供一个指向您在GitHub上看到的其中一个提交的链接吗?不要使用git diff
,因为这样会丢失提交描述,这些描述与更改一样有价值themselves@VonC好的,看看这个提交:在.36和.38之间有大约90个变化。如果不把依赖关系搞得一团糟的话,就很难挑选一些……好吧,这就是我想要的东西。但是,我只想从3.0.37和3.0.38中提取更改(只是更改的一小部分)。我不想做其他改变。如果我将主线Linux拉入存储库的一个分支,那么我必须合并所有内容!别这样,丹。示例中给出的format patch命令只提取.37到.38之间的补丁