修改其他分支的旧提交

时间:2017-04-28 04:48:27

标签: git branch branching-and-merging

我有一个带分支的git repo,如下所示:

my branch 2

在此之后,我从my branch 1创建了另一个分支my branch 2。我还没有在这个新的分支中做任何事情;我的所有更改都是未分级的。如果我使用git commit -amendmy 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}}编写了大量代码。

1 个答案:

答案 0 :(得分:2)

,如果您已创建分支,则分支会获得新的"参考" (创建一个新的git对象)。如果您使用--amend更新旧提交,也会创建一个新对象,旧对象不会被删除。

从提交创建新分支后,此分支与任何其他分支分离。因此,更改提交甚至整个分支A的历史记录不会以任何方式影响分支B

这意味着您可以在my branch 2上提交更改,返回my branch 1并修改提交。您也可以隐藏它并在my branch 1上应用更改。它基本上与你做什么无关。