几天前我从GitHub上撤了一个项目。 我已经发现GitHub上有几个叉子,我忽略了我最初采用的那个。 如何确定我拉出的哪个叉子?
#1楼
打印任意命名的远程提取URL:
git remote -v | grep fetch | awk '{print $2}'
#2楼
简短回答:
$ git remote show -n origin
或者,纯粹快速脚本的替代方案:
$ git config --get remote.origin.url
一些信息:
-
$ git remote -v
将打印所有遥控器(不是你想要的)。 你想要原产地吗? -
$ git remote show origin
更好,只显示origin
但需要太长时间(在git版本1.8.1.msysgit.1上测试)。
我最终得到: $ git remote show -n origin
,这似乎是最快的。 使用-n
它不会获取远程头(AKA分支)。 你不需要那种类型的信息,对吗?
http://www.kernel.org/pub//software/scm/git/docs/git-remote.html
你可以申请| grep -i fetch
| grep -i fetch
所有三个版本以仅显示获取URL。
如果您需要纯粹的速度,那么使用:
$ git config --get remote.origin.url
感谢@Jefromi指出这一点。
#3楼
上游的遥控器可能不被称为“原点”,所以这里有一个变化:
remote=$(git config --get branch.master.remote)
url=$(git config --get remote.$remote.url)
basename=$(basename "$url" .git)
echo $basename
要么:
basename $(git config --get remote.$(git config --get branch.master.remote).url) .git
对于更有用的变量,有:
$ git config -l
#4楼
得到答案:
git ls-remote --get-url [REMOTE]
这比阅读配置更好; 请参考git-ls-remote
的手册页 :
--get-URL
扩展给定远程存储库的URL,考虑任何
"url.<base>.insteadOf"
配置设置(请参阅git-config(1)
)并退出而不与远程通信。