Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.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 - Fatal编程技术网

如何合并来自其他git存储库的部分更改

如何合并来自其他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

我有一个带有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.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之间的补丁