git 是否有内置命令用于显示当前远程项目的名称?现在我正在使用这个:
git remote -v | head -n1 | awk '{print $2}' | sed 's/.*\///' | sed 's/\.git//'
...但似乎会有一个内置的等效项。
我一直在寻找相同的信息来自定义我的 shell 提示符,所以我决定尝试一下,最后得到了这个命令,它只输出项目的名称:
$ git config --local remote.origin.url|sed -n 's#.*/\([^.]*\)\.git#\1#p'
如果您的远程源 URL 是 SSH、带有 DNS 或基于 IP 的 HTTPS,则它在任何情况下都应该有效。
- SSH based
- 域名: ssh://[电子邮件受保护] /cdn-cgi/l/email-protection:用户/项目.git
- IP:ssh://[电子邮件受保护] /cdn-cgi/l/email-protection:用户/项目.git
- HTTPS based
- dns : https://github.com/user/project.git https://github.com/user/project.git
- ip : https://192.30.252.130/user/project.git https://192.30.252.130/user/project.git
如果您没有配置远程,只有本地存储库,并且您的顶级文件夹是项目的名称,您可以在 git 树中使用 git rev-parse 和 basename (不可靠的解决方案)。它将输出项目名称:
TOP=$(git rev-parse --show-toplevel); echo ${TOP##*/}
注意:GH 不允许您直接在 HTTPS 上使用 IP 进行克隆,因为需要进行证书链验证。这只是为了说明用例。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)