【问题标题】:What is a "stale" git branch?什么是“陈旧”的 git 分支?
【发布时间】:2015-05-20 15:40:03
【问题描述】:

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

【问题讨论】:

  • 你可能想知道一个陈旧的分支是一个 stale 分支:未维护/放弃...

标签: git branch


【解决方案1】:

commit e194cd1(2007 年 1 月,Git 1.5.0)中发现了对“陈旧”的最早引用,它检测到“stale tracking branches in remote”:当跟踪一个被远程系统删除。
因此git remote prune

这是陈旧分支的主要定义:remote tracking branch(远程 repo 分支的 本地 引用)不再跟踪任何内容(因为实际分支远程仓库上的文件不见了)。

git remote show 能够列出这些。


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

  • 另一个对“陈旧”的引用涉及git reflog --stale-fix in commit 1389d9d (Git 1.5.0),用于跟踪“broken commit”:无法从任何refs 并且在提交、树或 blob 对象中缺少一个可从它访问的对象,该对象无法从任何 参考。
    这有助于在存在 reflog 的情况下从旧 git 运行非 reflog-aware git prune 后解决问题。

  • Commit 740fdd2(2008 年 3 月,Git 1.5.5)还为 symbolic refs 引入了“陈旧”,当它们指向的 ref 不再存在时。


正如@SteelToe 所说: 根据GitHub documentation,陈旧分支的定义是在过去 3 个月内没有任何提交的分支。
这通常表示旧的/未维护的/不是当前的分支。

【讨论】:

  • 我在推送到一个全新的远程源时看到了这个,因为它上面没有我的任何分支(显然)。
  • "a remote tracking branch" 本地跟踪过,但是“远程仓库上的实际分支已经消失”对吗?
  • @Honey(晚了几个月)是的,就是这个想法。我已经更新了答案以添加一个链接,该链接说明了远程跟踪分支是什么。
【解决方案2】:

根据 GitHub 文档,陈旧分支的定义是在过去 3 个月内没有任何提交的分支。

这通常表示旧的/未维护的/不是当前的分支。

欲了解更多信息,请参阅https://help.github.com/articles/viewing-branches-in-your-repository/

【讨论】:

    【解决方案3】:

    那是因为没有“确切的定义”。 “过时的 git 分支”、“过时的数据”、“过时的配置选项”——这些都没有确切定义,但它们都指被认为是旧的/未维护的/不是当前的/可能的东西坏了。

    所以“陈旧的 git 分支”通常是存储库的一个分支,很长时间没有被触及。也许它坏了,也许不是;对于活跃的开发分支来说,它肯定不是当前的 w/r/t,而且已经有一段时间没有人看过它了。

    【讨论】:

    【解决方案4】:

    陈旧的分支是一段时间后没有活动的分支。在 Github 中,它在 3 个月不活动后变得陈旧。

    项目具有陈旧分支的原因:未发布的功能、原型、替代解决方案、不完整、不兼容。

    read more

    【讨论】:

      猜你喜欢
      • 2018-11-19
      • 2019-06-17
      • 2013-05-23
      • 2011-05-30
      • 2021-06-21
      • 2022-11-02
      • 2018-06-10
      • 1970-01-01
      • 2021-08-01
      相关资源
      最近更新 更多