我有一个带分支的git repo,如下所示:
my branch 2
在此之后,我从my branch 1
创建了另一个分支my branch 2
。我还没有在这个新的分支中做任何事情;我的所有更改都是未分级的。如果我使用git commit -amend
从my branch 1
修改c5, c5 (my branch 1)
/
c1->c2->c3->c4/ (mainline)
\
\ c5' (my branch 2)
的c5是否也会被修改?
如果是,有什么方法可以确保它不被修改?基本上,我希望我的git repo看起来像:
my branch 2
但我已经在my branch 1
之上创建了my branch 1
,之后在{{1}}编写了大量代码。
答案 0 :(得分:2)
否,如果您已创建分支,则分支会获得新的"参考" (创建一个新的git对象)。如果您使用--amend
更新旧提交,也会创建一个新对象,旧对象不会被删除。
从提交创建新分支后,此分支与任何其他分支分离。因此,更改提交甚至整个分支A
的历史记录不会以任何方式影响分支B
。
这意味着您可以在my branch 2
上提交更改,返回my branch 1
并修改提交。您也可以隐藏它并在my branch 1
上应用更改。它基本上与你做什么无关。