【问题标题】:git list all active branches of all the repos contained in a local foldergit 列出本地文件夹中包含的所有 repos 的所有活动分支
【发布时间】:2019-07-14 15:56:40
【问题描述】:

我在另一台笔记本电脑上克隆了一堆 git repos,但现在我需要所有这些的应用程序与最初的笔记本电脑上的工作方式不同。

假设在最初的所有 repos 都位于文件夹 ~/ 中,是否有任何命令可以列出该文件夹中每个包的活动分支?

问候

【问题讨论】:

  • 您是否考虑过为您的语言使用依赖管理系统?例如,在 python 中使用pip,您可以创建一个requirements.txt 文件来定义您的依赖关系。这些可以包括外部 git 存储库。大多数其他常见的编程语言都有类似的工具。
  • 像 cmake 吗?
  • 是的,您应该能够通过编写规则来克隆依赖的 repos 并在必要时签出正确的分支来使用 cmake 做类似的事情。编写这样的脚本将帮助您创建可重现的构建,而不是依靠手动执行正确的步骤。
  • 使用 Git 2.30(2020 年第四季度),您现在拥有 [新的 git for-each-repo 命令] (stackoverflow.com/a/65766304/6309):它可以帮助在每个已注册的存储库中执行命令。

标签: bash git


【解决方案1】:

findgit branch 结合起来,让它打印git repo 目录和当前分支名称。

find /path/to/root/folder -type d -name '.git' -exec echo {} \; -exec git -C {} branch \;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-17
    • 2021-04-23
    • 2017-05-10
    • 2013-05-01
    • 2012-05-23
    • 2013-03-21
    • 2015-08-09
    • 2019-01-12
    相关资源
    最近更新 更多