找出您从Git中克隆的原始存储库的名称
当你使用语法来做你的第一个克隆
git clone username@server:gitRepo.git
是否有可能使用您的本地存储库来查找该初始克隆的名称? (所以在上面的例子中findgitRepo.git)
在存储库根目录中,.git / config文件包含有关远程存储库和分支的所有信息。 在你的例子中,你应该找像这样的东西:
[remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = server:gitRepo.git
另外,git命令: git remote -v
显示远程存储库的名称和URL。 “origin”远程仓库通常对应于克隆本地副本的原始仓库。
git config --get remote.origin.url
这是您可能search的快速bash命令
将仅打印远程存储库的基本名称
你从哪里获取:
basename $(git remote show -n origin | grep Fetch | cut -d: -f2-)
或者你推到的地方 :
basename $(git remote show -n origin | grep Push | cut -d: -f2-)
特别是-n
选项使命令更快
我使用这个:
basename $(git remote get-url origin) .git
它返回类似gitRepo
东西。 (删除命令末尾的.git
以gitRepo.git
类的gitRepo.git
。)
(注意:需要git> = 2.7.0)
git remote show origin -n | ruby -ne 'puts /^\s*Fetch.*(:|\/){1}([^\/]+\/[^\/]+).git/.match($_)[2] rescue nil'
用3个url风格testing:
echo "Fetch URL: http://user@pass:gitservice.org:20080/owner/repo.git" | ruby -ne 'puts /^\s*Fetch.*(:|\/){1}([^\/]+\/[^\/]+).git/.match($_)[2] rescue nil' echo "Fetch URL: Fetch URL: git@github.com:home1-oss/oss-build.git" | ruby -ne 'puts /^\s*Fetch.*(:|\/){1}([^\/]+\/[^\/]+).git/.match($_)[2] rescue nil' echo "Fetch URL: https://github.com/owner/repo.git" | ruby -ne 'puts /^\s*Fetch.*(:|\/){1}([^\/]+\/[^\/]+).git/.match($_)[2] rescue nil'