我有以下场景:
branch1创建新分支master
branch1中,我添加了一个名为b1.txt+的新文件,也在common.txt中添加了新行echo 'line added in branch1';
branch2创建新分支branch1
将文件重命名为b1.txt+也在b2.txt中,我将该行更改为common.txt
echo 'line added in branch2';合并到branch1
master合并到branch2
结果:master有一个新文件master,并在b2.txt中有一行新文件读取common.txt
我想得到的结果是:echo 'line added in branch2';有两个新文件masterb1.txt,以及b2.txt中读取common.txtecho 'line added in branch1';的两行新行。
如何做到这一点?
注:我知道,通常,我应该从echo 'line added in branch2';创建branch2,但是复制粘贴(并稍微修改)master的更改要容易得多,尽管branch1尚未合并到branch1中。

最佳答案

您可以从branch2创建branch1以使用更改的文件,然后使用branch2使master指向git reset

git checkout master
git checkout -b branch1
* make changes and commit *
git checkout -b branch2
git reset --soft master
* make changes and commit *

在这一点上,两个分支都有自己的更改和独立的历史记录(直到master),因此很容易与git merge branch1 branch2合并为master。

08-27 04:31