繁体   English   中英

获取另一个目录中git子模块的分支名称

[英]Get branche names of git submodules in another directory

我已经签出了一个包含一些子模块的项目。

首先,我签出了我的project ,然后签出了submodules

git clone git@my-gitlab-server:namespace/project.git

使用最新版本为该branch初始化子模块:

git submodule update --init --recursive

然后,我签出了包含子模块的特定分支。 我只想获取每个sumbodule的分支名称。

但是

$ git --git-dir path/to/my/submodule rev-parse --abbrev-ref HEAD
fatal: not a git repository: 'path/to/my/submodule'


$ cd  path/to/my/submodule 
$ (detached*)$ git branch
* (HEAD detached at 24bbc55)
  develop

为什么第一个命令显示它不是git子模块? (虽然它是)签出是从子模块的特定分支(“ develop”)完成的。 如何获得实际的分支名称(而不是git sha ?)

在您的项目列表中,git存储库中每个子模块的分支名称和状态:

git submodule foreach 'git status'

从子模块列表中,该子模块的分支名称

git branch

git子模块分离状态的原因可以在此处提出的另一个问题中找到:stackoverflow.com/a/48556186/3564632

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM