我有一个旧的工作树藏匿处,现在已经有数十个旧事物。尽管如此,这个藏匿处仍然代表着我需要提出的功能的有用工作。从那以后,我不得不改用更高优先级的功能,因此我放弃了它。现在,与往常一样,我的master
代表了当前的最新水平,但是我需要在旧功能上进行工作。我认为我根本不需要反弹。实际上,在功能完成之前,我不会(藏匿(。
由于藏匿处是提交的,我想我是否可以生产一棵工作的树,其中包含上述废弃的功能工作和当前的主分支。我做到了:
git checkout stash@{0}
git merge --no-ff --no-commit master
git merge
的漫长选择只是为了确保我有机会查看合并。令人惊讶的是,一切都变得光滑了。查看一个更改最大的一个文件的两个版本,对我来说很明显,我不希望合并git做。
现在,我想要的是git产生我合并冲突时得到的文件类型 - 一个带有<<<<<
和>>>>>
的文件,给了我不同的部分。我将将这些文件编辑为明智的状态,然后从那里拿走,没问题。
我准备使用git format-patch
和git merge-file
(我不确定,因为我从未使用过(给我一个补丁文件,我将调整并在stash@{0}
的顶部申请。
即使在GIT看不到的情况下,"引起"合并冲突案件的惯用方法是什么?
您编写的某些内容可能会得到很多改进(使用藏匿而不是特征分支,很少进行(,但是您似乎很适合它们。
关于您的实际问题:在您合并的两个提交之上创建新的临时提交。修饰您想与一些无关紧要的变化冲突的每个大块头。那可能是空白,评论或其他。然后合并那些新的提交,您将遇到冲突。