很抱歉,这个问题被问了很多遍,但我只是找不到解决问题的方法。
我有很多任务,其中一些依赖于其他任务,所以可以说,我们有:
因此,如您所见,任务1需要合并到主任务中,任务2依赖于任务1,因此您必须包括它,还需要合并,并且任务3同时需要任务1和2。
并且您知道,代码审查需要很多时间,所以我不想坐下来等待,但是我想在任务1审查时继续执行任务2,然后在任务2审查时继续执行任务3正在审核。
有一种方法可以做到吗?我使用带有Gitlens扩展名的VS Code,也使用终端进行推送。
感谢您的时间。
答案 0 :(得分:0)
安装分支中的另一个分支?那将是标准方法,唯一要记住的是,当您“更新”时,您必须更加小心。例如,task2分支从task1分支开始,而task1仍在开发中。不久之后,task1收到了两次提交。为了使task2能够获得它们:
git checkout task2
git rebase task1
这足以将task2移动到task1的新位置之上……但是当task1“移动”时,事情变得更加棘手(例如,对task1进行了重新设置)。在这种情况下,您不能只是“重新设置”,因为如果您尝试执行此操作,则git会尝试将task1的“先前”修订版本重新设置在track1的新位置之上。可以很简单地假设,如果task1保持不变,那么您会从git那里收到一些消息,说明已应用了补丁,并且可以告诉git跳过它们。就是说,实际上,新的task1分支可能与您开始工作的旧task1 非常不同,并且鉴于task1不是task2开发的一部分(例如,两个独立的开发),那么您就必须将task2仅 重新设置为task1的新位置。因此,您必须这样做:
git rebase --onto task1 old-task1-position task2
通过这种方式,您要求git将task1的 new 位置重新建立基础,分支task2丢弃所有旧版本的旧版本,这些旧版本属于old-task1-position的历史。
以这种方式工作并不难,只需要练习并知道正在发生什么。