我在主分支中做了三次提交:C1,C2和C3.从那时起,我创建了一个新的分支'Branch1'.做了一些更改并让它们在Branch1上的C4中提交.
事情看起来如下:
C1--C2--C3<--Master
\
C4<--Branch1
Run Code Online (Sandbox Code Playgroud)
但是,现在我想使用Master中的早期提交来分叉一个新的分支'Branch2'.也就是说在Master分支中,我想回到C2并在新分支的基础上进行构建.主分支不得以任何方式受到干扰.C5是一个提交保存更改在新的'Branch2'中完成的.从图形上看,下图应该解释我想要的东西:
C5<--Branch2
/
C1--C2--C3<--Master
\
C4<--Branch1
Run Code Online (Sandbox Code Playgroud)
什么git命令序列将带我到那里?
我的第二个问题是在完成第二个图中的情况之后,如果执行"恢复"以删除主分支中的C3,它对Branch1会有什么影响?Branch1中的代码会损坏还是不稳定?
只需检查该提交并指定要创建的分支:
git checkout -b Branch2 C2
Run Code Online (Sandbox Code Playgroud)
对于你的第二个问题,这取决于你如何定义'revert'(git revert或git reset).在两种情况下,Branch1仍将包含提交C3(记住,在git分支中只是'指针',祖先信息存储在提交本身中).
| 归档时间: |
|
| 查看次数: |
616 次 |
| 最近记录: |