删除未完全合并的分支会产生什么后果?

问题描述 投票:1回答:3

如果您尝试删除具有另一个分支(本地或上游)无法访问的提交的分支,那么您当然会得到这个:

git branch -d <branch>
error: The branch <branch> is not fully merged.
If you are sure you want to delete it, run 'git branch -D <branch>'.

但是,如果我不关心专门针对该分支的提交,该怎么办?如果我仍然删除分支,它们会发生什么,以及其他分支上的提交会发生什么?

git
3个回答
1
投票

如果删除分支,则提交将随分支一起消失。它们不能通过任何其他分支访问。

可以将其视为制作文档的照片副本,然后使用荧光笔更改照片副本。如果您在将编辑内容转移到原始副本之前选择粉碎照片副本,则您的编辑将消失,并且不会在其他任何地方传播任何后果。

参考:https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging


3
投票

除了分支被删除之外没有任何后果,并且任何只能通过该分支到达的提交也将被删除。 Git只是确保你真的想破坏你的工作。


1
投票

如评论中所述,提交不会立即消失。仅删除分支。这使得查找已删除分支上但不在任何其他分支上的提交更加困难。你可以用git reflog找到它们。

如果要完全删除提交以释放磁盘空间,则可以运行git gc。运行其他命令时会定期运行此命令,因此通常无法手动运行该命令。您的git设置将指定提交或其他对象在符合垃圾回收条件之前必须有多长。

© www.soinside.com 2019 - 2024. All rights reserved.