如何处理实验性非合并git分支?

gio*_*ele 22 git github feature-branch

目前使用git分支创建的最佳实践是为了测试错误的解决方案并且尚未合并,因为审核流程显示错误或有更好的问题解决方案?

一个例子.项目fizzbuzz有一个错误报告,报告空字段崩溃.

  • 我创建了一个新分支handle-empty-fields并对该分支进行了两次提交,"解决"了这个问题.
  • 然后我将该分支提交给fizzbuzz项目经理,并将其链接到错误报告中.
  • 有人在我的修复程序中发现错误,写了另一个补丁并且该补丁被接受了.

现在handle-empty-fields我的代码中的代码是无用的:它不正确,不能再应用于代码,但它已在该错误报告中引用.

我该怎么办?保持分支?我会很快结束几十个被遗弃的分支,而git无法将分支标记为已废弃或已关闭.删除分支?但是那些查看该错误报告的人会发现它并获得404.

通常建议人们不要重新设置他们的存储库,因为这会给其他开发人员带来问题,尤其是下游开发人员.对功能或错误修复分支有什么建议?

更新:看起来github永远不会删除pull请求中包含的提交.因此,如果您推送更改并将其转换为拉取请求,则可以稍后删除该分支而不会丢失任何更改.好吧,虽然github还在工作;).

Abi*_*ern 16

我这样做的方法是给它一个标签.使用完整标记并为其指定一个描述性名称.然后你可以删除分支,因此它不会显示在你的分支列表中,但是因为它被标记了,所以仍然可以通过检查分支来重新创建分支.标签上的所有提交仍然可用,并且您不会丢失任何git gc类似这样的提交,可能:

git tag -a partialBugfixXXX -m"Tagging a branch that went into fixing bug XXX"
Run Code Online (Sandbox Code Playgroud)


Mic*_*ski 12

git update-ref refs/Attic/handle-empty-fields refs/heads/handle-empty-fields

作为在标记中保留死分支的替代方法,您可以使用单独的refs命名空间.好处是标签列表保持整洁.一个缺点是从瓷器转移到git的管道水平.