什么是“陈旧”的git分支?


133

我已经听到很多“ Stale” git分支的术语。我知道它与被认为不太有用或无用的分支有关,但找不到确切的定义。什么是“陈旧”的git分支?

Answers:


96

提交e194cd1(2007年1月,Git 1.5.0)中找到了对“陈旧”的最早引用,该文件在跟踪由远程系统删除的分支时检测到“ 远程中的陈旧跟踪分支 ”。
因此git remote prune

这是陈旧分支的主要定义:不再跟踪任何内容远程跟踪分支(远程回购分支的本地引用)(因为远程回购上的实际分支已消失)。

git remote show 能够列出这些。


顺便说一句,您在Git系统中还有两个“过时”的定义:

  • 到“陈旧”另一个参考涉及git reflog --stale-fix提交1389d9d(GIT 1.5.0),用于跟踪“ 破提交 ”:提交不是从任何裁判的可达并且在提交,树,或斑点的对象中一个缺少对象从任何引用都无法达到的目标。
    这有助于解决git prune在存在reflog的情况下从较旧的git 运行非reflog感知之后的情况。

  • 提交740fdd2(2008年3月,Git 1.5.5)也为符号ref引入了“陈旧” ,当它们指向的ref不再存在时。


正如@SteelToe所提到的:过时的分支的定义,按照 GitHub文档,是在过去三个月中没有任何提交的分支。
这通常表示旧的/未维护的/不是当前的分支。


当我尝试使用全新的远程起源时,我看到了这一点,因为(显然)它上面没有我的任何分支。
Noumenon

“远程跟踪分支” <-当您这么说时,它使我认为您正在谈论的是远程回购中存在的分支,但是您指的是您之前在本地进行过跟踪的远程分支,但是“远程仓库上的实际分支已消失”对吗?
蜂蜜

@Honey(迟了几个月)是的,就是这个想法。我已经更新了答案,添加了一个说明远程跟踪分支是什么的链接。
VonC


17

那是因为没有“确切的定义”。“陈旧的git分支”,“陈旧的数据”,“陈旧的配置选项”-这些都没有确切的名称定义,但是它们都引用被认为是旧的/未维护的/不是当前的/可能已损坏的东西。

因此,“陈旧的git分支”通常是存储库的一个分支,已经很长时间没有被使用了。也许它坏了,也许没有;它肯定不是活跃的开发分支的当前版本,并且有一段时间没有人关注它了。


12
在github上,过去3个月未更新的分支被认为是过时的:help.github.com/articles/viewing-branches-in-your-repository
Ludovic Ronsin

3

陈旧的分支是一段时间后没有活动的分支。在Github中,经过三个月的不活动之后,它已经过时了。

项目为何拥有过时的分支,原因:未发布的功能,原型,替代解决方案,不完整,不兼容。

阅读更多

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.