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

  • 本文关键字:后果 分支 合并 删除 git
  • 更新时间 :
  • 英文 :


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

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 只是确保你真的想破坏你的工作。

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

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

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

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

如果要完全删除提交以释放磁盘空间,则可以运行git gc 。当您运行其他命令时,此命令会定期运行,因此通常没有理由手动运行它。您的 git 设置将指定提交或其他对象必须有多旧才能符合垃圾回收条件。

最新更新