Git - 从旧分支移植到HEAD的更改

时间:2016-02-08 15:54:26

标签: git

我试图将特定提交中的一些更改应用到我的Git存储库的HEAD中。此提交的分支已有近两年的历史,并且由于某些原因从未合并到存储库的主分支中。

但是,我想在端口上进行一些更改,特别是对两个文件的添加:添加到Java接口的方法签名及其在具体中的实现类。没有更改或删除这两个文件的行。

我的问题是,如果我尝试将此提交合并或樱桃选择到我当前的分支上,我会遇到各种冲突,因为提交已经过时了。即使在这两个文件中,很多代码在此期间也发生了变化,现在Git问我是否需要该提交中的行或过去两年中添加的行。我真正喜欢的是,如果Git可以在HEAD上重播与该提交中相同的添加,而不替换任何内容。

在这个特定的实例中,只有两个文件,我可以手动移植更改,但我想知道我是否缺少可以自动修复类似情况的特定Git命令/选项。

感谢。

1 个答案:

答案 0 :(得分:1)

您可以在提交中检出文件中的特定黑客:

<?php
$formatted = number_format( $row[8] );
echo "<div class=\"wrap\"><b>Price</b></div>
        <div class=\"price\">$ {$formatted}</div>
        <br />
      </div>";
?>

然后,Git会在git checkout -p <commit> -- <path/to/file> <commit>之间查看该文件中的所有差异,并询问您是否要进行更改。但是,这可能会非常压倒性,具体取决于文件的大小以及更改的大小。