我应该永远保留GitHub分叉的存储库吗?


314

因此,我分叉了其他人的存储库,进行了一些更改,提交了请求请求,然后我的更改将其添加到了产品中。大!

但是...我应该如何处理我的分叉存储库?我是否有令人信服的理由来保留我的存储库,还是应该继续删除它?我不打算再做任何贡献,但是如果我改变主意,我想我可以总是重新派发它。

我并不真正担心保留备份。我更担心断开链接,丢失提交消息等。


80
请删除它,否则github的哈希将用完。
Armand

3
重复的代码是邪恶的。而且这也跨越了git的界限。
stijn 2011年

7
@stijn-我将其更多地理解为“备份”而不是“重复”。而且我认为我从未听说过有人争论备份代码是邪恶的……
Beekguk 2011年

3
删除它。毕竟,您始终可以从项目存储库中下载最后一个状态(无论如何都将要继续工作的状态)。
Rook

如果原始存储库被删除并且没有人保留叉子,会发生什么?在这种情况下,如何重新获得对仓库/叉子的访问权限?
克罗姆斯特

Answers:


40

删除派生的存储库将删除“拉取请求”中的历史记录。

具有未知存储库的PR

删除分支的存储库将删除与您的存储库关联的所有信息。这可能会追溯影响对存储库的任何引用,包括已经合并的拉取请求。(请参阅删除叉后,拉取请求显示“未知存储库”

您的评论和提交保留在与您的存储库相关联的任何拉取请求中,但后果自负。

但是,合并后删除旧分支是绝对安全的。

尽管应避免删除存储库,但完全可以删除未使用的分支。实际上,GitHub鼓励您删除旧分支

拉取请求后整理

在GitHub,我们喜欢每天整天使用Pull Requests。唯一的麻烦是,合并或关闭“拉取请求”后,我们最终将获得许多已失效的分支。有时,我们中的一个人会使用脚本清除这些分支,但是我们认为最好将此步骤作为GitHub.com上常规工作流程的一部分进行。

从今天开始,合并合并请求请求后,您将看到一个按钮,用于删除保留的分支:

删除此分支按钮

如果“拉取请求”是在没有合并的情况下关闭的,则按钮的外观会有所不同,以警告您删除未合并的提交:

删除带有警告的分支

当然,您只能删除您具有推送访问权限的存储库中的分支。

享受您整洁的存储库!

另外,如果您真的不想保留它们,则可以存档存储库以指示它不再处于主动维护状态。

也可以看看


1
当您删除未合并的关闭请求时,分支将发生什么(引用的文章中的第二种情况)?仅在没有提交历史记录的情况下,提交仍可在拉取请求中使用,还是完全消失?
错字

2
@typo根据GitHub的文档,“ 您不能删除与打开的请求相关的分支。
Stevoisiak

207

如果您的拉取请求已被接受,并且您尚未进行其他个人更改,则应将其删除。

  1. 删除没有任何害处。
  2. 如果需要,您可以随时进行分叉
  3. 当人们搜索某些东西时,它减少了搜索结果中无用的存储库
  4. 如果您将GitHub用作某种潜在工作/合同的履历,那么如果您没有数十个当前未使用的分叉存储库,则看起来会更好。您会显得更有效率。
  5. 当您不必遍历数百个无用的存储库时,它可以帮助您提高理智。
  6. 对于GitHub来说更好。:)

50
唯一的缺点,这是使拉请求,那么将显示“提交合并<提交>成<repo>unknown repository上<日期>”,这是有点奇怪。
PLPeeters 2015年

18
@PLPeeters,实际上这是一个很大的缺点。
Pacerier,2015年

4
我建议使用remove-github-forks“删除主存储库中没有提交的所有派生”。奇迹般有效。
fregante

3
@SteveMoser我可能是错的,但是我认为您仍然保留“您贡献的存储库”列表。我删除了两者之间的所有连接,但仍然以某种方式保留在那里,但可能是
fl幸

17
我冒险冒险并删除了分叉的存储库,并且我的贡献列表没有受到影响,因此我可以放心地说,删除分叉的回购交易不会影响您的贡献信用
Amin Mohamed Ajani

76

您可以在提交 “合并请求”后立即将其删除,无论它是否已合并。GitHub将所有PR存储在上游存储库中,这意味着即使删除了fork,也可以跟踪建议的更改。

这简化了决定。

在以下情况下,您可能仍要保留货叉:

  • 您将立即做出更多贡献(例如扩展现有PR或打开新PR)

在以下情况下,您可能要删除该分叉:

  • 您想以自己的名字获得干净的项目组合

7
“您可以在发送“拉取请求”后立即删除叉子”,这就是我想要的!
Unnawut

我也是,但答案开头是“如果您的请求请求被接受...”,您是否尝试过:D
传奇

4
警告:删除分叉时,原始分支名称将从所有挂起的请求中删除。(Stevoisiak希望将1次提交Drugoy:master从中合并unknown repository
Stevoisiak '18年

20

我可能会用tar / gzip并将其放入存档目录,然后在3年后将其删除。;)老实说,如果您不打算在接下来的几个月中再次使用它,并且有一段时间没有使用它,我认为将其删除是安全的。


9

只是为了增加提供的答案-GitHub本身建议在合并后的分叉存储库中删除(“整理”)。

可以在合并后的拉取请求中完成此操作-请参阅此博客文章

此外,截至目前,我还没有在评论中发现任何不利之处:

  • 即使删除派生的存储库后,拉取请求中也有正确的消息(没有“未知存储库”)
  • 您贡献的资源库仍列在您的贡献活动中
  • 您仍列在该存储库的贡献者中

我不建议按照@Dennis的建议在合并之前将其删除,因为如果作者要求,您可能仍需要对代码进行一些修改。


2
我刚刚删除了一个分叉的存储库,现在请求请求说了unknown repository。那好吧。
Krassi'4

10
您的链接指向一篇文章,解释了成功的PR合并后如何删除分支。但是,此问题询问有关删除存储库的问题。当您删除自己的项目派生工具(repository)时,您只会观察到“未知的存储库” 。
stakx

2
问题是关于删除叉子,而不是分支。
安迪
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.