合并后如何处理分支

Ali*_*son 303 git merge branch

我有两个分支:masterbranch1.我刚刚合并branch1回来master,我已经完成了那个分支.我应该删除它还是让它坐下来?删除它会导致任何数据丢失吗?

Jon*_*fer 372

合并后,删除分支是安全的:

git branch -d branch1
Run Code Online (Sandbox Code Playgroud)

另外,如果git认为你还没有完全合并它,它会警告你(并拒绝删除分支).如果你强行删除一个git branch -D尚未完全合并的分支(with ),你必须做一些技巧来获取未合并的提交(见下文).

尽管有一些原因需要保持分支.例如,如果它是一个功能分支,您可能希望能够对该分支内的该功能进行错误修正.

如果您还想删除远程主机上的分支,您可以执行以下操作:

git push origin :branch1
Run Code Online (Sandbox Code Playgroud)

这将强制删除遥控器上的分支(这不会影响已经检出的存储库,但不会阻止任何具有推送访问权限的人重新推送/创建它).


git reflog显示最近检出的修订版.您在最近的存储库历史记录中检出的任何分支也将显示在那里.除此之外,git fsck在任何git中的提交丢失情况下都将是首选工具.

  • @Joqus我宁愿建议在这种情况下将它作为一个分支.只是不要发布它. (3认同)
  • 如果你想保存分支,你可以在删除它之前创建一个标签。如果您想返回到该点,您可以查看该标签。 (2认同)

Yoh*_*hst 22

我的所有分支的形式命名Fix/fix-<somedescription>Ftr/ftr-<somedescription>等使用塔作为我的git的前端,它巧妙地组织所有的Ftr/,Fix/,Test/等到文件夹中.一旦我完成了一个分支,我将它们重命名为Done/...-<description> 那样它们仍然存在(这可以很方便地提供历史记录)并且我总是可以回去知道它是什么(功能,修复,测试等)

  • 对于_keep_这些分支似乎是多余的,并且疯狂地*重命名它们.我在这里错过了什么吗?您始终可以重新创建分支./sf/ask/254853511/ (12认同)
  • 你是否也重命名远程分支? (3认同)
  • 合并后保留分支是没有意义的 (3认同)
  • 为重命名以修复,测试和完成的想法+1。保留分支机构是承包商从我公司获得报酬的方式。 (2认同)

ahm*_*l88 6

如果在合并后删除分支,请注意 DELETED 分支的所有超链接、URL 和引用都将是BROKEN