何时可以安全地删除本地分支?

10
这种情况是这样的:
我从其他远程开发分支创建了一个远程分支 -> 把它拉到本地 -> 做了一些更改 -> git add -> git commit -> 推到远程并提出拉取请求。
拉取请求仍然存在,分支尚未合并。
删除尚未合并的本地分支是否安全?
我不想再有很多我不需要的本地分支。
4个回答

11

在将本地分支推送到远程分支后,理论上可以安全地删除本地分支,因为即使拉取请求尚未合并,您仍然可以从远程分支中检索到您的更改。

然而,我建议等待拉取请求实际合并之前再进行删除。与允许任何人随意合并所不同的整个想法是允许开发人员和项目维护者之间的反馈循环。根据项目的礼仪和维护者对您的信任水平,可能需要多次改进才能合并您的拉取请求。我建议避免每次都重新创建本地分支的麻烦,只需将其保留在那里并继续处理,直到请求最终合并。


1
谢谢,这非常有帮助,正是我想要找到的。 - Phar0x

2

在将更改推送到您自己的远程存储库后,删除本地分支是安全的。

拉取请求与此无关,因为它仅仅是一个请求,要求原始存储库的维护者将您的更改合并回他们的代码库。为此,他们需要访问您的远程存储库,但当然不需要访问您的本地文件。


1

远程仓库包含了你的所有提交对象,所以你可以删除本地分支,但为什么要这样麻烦呢?

分支非常轻量级(在仓库中只是指向提交对象的40个字节指针)。你的仓库和外部仓库将具有相同的提交对象。如果在拉取请求被接受之前需要进一步工作,你将更容易地切换到本地分支而不是删除它并拉取自己的更改并在其上进行工作。


1
无论该Pull Request是否已被接受,每次我开始开发某个新功能或修复bug时,我都需要从远程develop分支创建一个新的分支,这样,在我提交完我的分支之后,我就不再需要本地的分支了... 这只是我的小强迫症问题。 - Phar0x
我对 OCD(强迫症)了如指掌 :-) - Mark Fisher

0

我遇到了这样的情况:我删除了一个分支,然后无论如何都无法切换回主分支。Plastic似乎想要那个未使用的分支,永远不会让我再次对该存储库进行任何有用的操作。

我对Plastic非常陌生,所以我可能应该联系支持人员,但我很着急。我的解决方案是从头开始创建一个新的存储库。虽然有点痛苦,但现在它又可以正常工作了。现在我知道不要随意删除东西,因为可能存在我不理解的依赖关系。

因此,虽然我相信这里的专家,但我建议您确实知道您可以删除分支而不会遇到我遇到的问题。

我将在另一个帖子中发布这个问题:什么时候删除未使用的分支是不安全的?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接