git版本1.7.5.4 Ubuntu 11.10
是否可以在几个文件中合并一些选定的源代码?
我一直在研究两个不同的分支,即branch1和branch2。
目前我在branch2上,并且我想将branch1添加到branch2进行一些更改。
我想要的所有选定部分都在branch1上进行一次提交。
我可以切换到branch1复制更改,然后切换回branch2并粘贴它们。但是,我宁愿学习git如何为我做这个。
另外,我担心如果我使用git,我可以在branch2中合并我不想要的branch1的一些更改。这就是为什么我想通过选择碎片来做到这一点。
非常感谢任何建议,
答案 0 :(得分:1)
这不是git的工作方式。合并提交时,要么合并整个提交,要么不合并任何提交 - 否则,历史图表的完整性会受到影响。
你能做的是:
git checkout -b temp_branch branch2
git checkout branch1 /path/to/file/with_changes
git reset HEAD
git add -p
并且只展示您想要的文件更改部分。git commit
git checkout -f branch2
git merge temp_branch
这将在一个新的,不同的提交中与那些具有部分更改的branch1合并 - 但请注意,如果您以后将branch1合并到branch2,则必须手动解决冲突,因为创建新的部分-changes commit是一个独立的,独特的历史分支。