git merge分支返回到特定提交

eiee3dmh  于 2022-12-25  发布在  Git
关注(0)|答案(1)|浏览(175)
master (branch)
lesson-1 --------------- lesson-2 --------------- lesson-3 ------------ lesson-4
                           /       \
                          /         \
                 lesson-2-mod (branch)
                        /             \
                       /               \
                       - Changes to lesson2

我创建了一个教程资源,其中包含lesson-1lesson-2等的提交和标记。这样,用户可以查看并尝试开发的每一步代码,如果他们愿意,可以通过倒带HEAD来查看和尝试。
现在,我看到了第2课的一些版本(也许过一段时间),逻辑上的可视化是从提交第2课分支出来,进行修改,然后合并回第2课。
我该怎么做呢?到目前为止,我只经历过合并到一个分支,然后合并到一个顶点。我还没有从以前的提交分支出来,或者合并回一个特定的点。

ryevplcw

ryevplcw1#

这种情况经常发生在我身上,我所做的不是创建合并分支而是简单地修改相关的commit/教训(这里是第2课)。要做到这一点,只需执行一个 * 交互式变基 *,回到第1课:

git rebase -i <lesson1>

您将在编辑器中看到一个待办事项列表:

pick <lesson4>
pick <lesson3>
pick <lesson2>

在最后一行(第2课),将“pick”改为“edit”,保存,然后关闭编辑器。变基将开始并暂停,等待第2课中的更改。根据需要修改第2课。然后

git add .
git rebase --continue

此时,您很可能会遇到合并冲突。不要害怕!只要在出现冲突时直接编辑有问题的文件即可解决冲突。解决后,再次说

git add .
git rebase --continue

如果我们因为合并冲突而再次暂停,请重新执行所有这些操作。最终,您将一路返回到您所在的位置,并且第2课将根据需要进行修改。

相关问题