如何在某个 Git 仓库中获取 Git 仓库的名称?

264

在你正在某个Git目录中工作时,如何获取该Git仓库的名称?是否有任何Git命令可以使用?

# I did check out bar repository and working in somewhere 
# under bar directory at this moment such as below.

$ git clone git://github.com/foo/bar.git
$ cd bar/baz/qux/quux/corge/grault # and I am working in here!
$ git xxx # <- ???
bar

1
看起来这就是你想要的。https://dev59.com/zG855IYBdhLWcg3w6Y5q - Max Sherman
不,那可能不是他想要的。但这个可能是:https://dev59.com/cHNA5IYBdhLWcg3wcddk - Nevik Rehnel
如果您使用node.js,可以尝试使用https://www.npmjs.com/package/git-repo-name。 - jonschlinkert
“没有好答案”,因为根本就没有答案。有些答案可以让您获取目录名称,您可以在其中选择备用名称进行克隆(或只是更名)。其他答案让您查看远程 - 但多个远程是一个东西,“origin”只是默认值。还有一个答案建议查看.git / description - 如果不是所有Git主机都一致使用,那么这也是无用的。 - nhed
21个回答

0

这是我的:

git remote --verbose | grep origin | grep fetch | cut -f2 | cut -d' ' -f1

和其他人的代码没什么区别,但我把它做成了一个Bash函数,这样如果没有默认值origin,我就可以传递远程名称。

grurl () {
  xx_remote=$1
  [ -z "$xx_remote" ] && xx_remote=origin
  git remote --verbose | grep "$1" | grep fetch | cut -f2 | cut -d' ' -f1
  unset xx_remote
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接