合并一些差异,但不是全部

时间:2011-04-04 07:32:52

标签: git

git version 1.7.1

我创建了2个分支,即branch1和branch2。

我一直在开发branch1和branch2。所以两个分支现在都不同了。

但是,我想将branch1合并到branch2中。但我不确定的是我只想合并一些代码更改。我在branch1中编写了一些函数,我只想合并这些函数而不是其他任何函数。

可以使用git吗?

2 个答案:

答案 0 :(得分:2)

代码快照方面的Git原因,表示 all 项目的完整内容,提交后提交。

这意味着您可以轻松cherry-pick从一个分支到另一个分支的一个或多个提交(如评论中的KingCrunch所示)

但是你不能在一次提交中合并一些文件(而不是其他文件) 您可以尝试使用rebase --interactive branch1~x来编辑具有相关更改的最后x次提交,将这些提交拆分为2:

  • 一个有共同变化的,
  • 另一个包含您要合并的更改。

然后你可以重新排序那些第二组提交,并在branch2之上对它们进行重新定位或快乐挑选。

答案 1 :(得分:2)

cherry-pick命令从一个分支获取单个提交。然后使用此处显示的方法将提交拆分为单个提交。

使用git rebase -i获取原始提交以进行编辑。 然后git reset HEAD^有选择地还原更改, 然后git commit将该位提交为历史记录中的新提交。

使用

如果要将不同的更改拆分为单个文件,git add --patch或者可能是git add --interactive,它允许您只添加一部分块

我希望它有助于你