Узнать имя оригинального репозитория, из которого вы клонировали в Git - PullRequest
99 голосов
/ 02 ноября 2010

Когда вы делаете свой первый клон, используя синтаксис

git clone username@server:gitRepo.git

Возможно ли использовать ваш локальный репозиторий, чтобы найти имя этого исходного клона?(поэтому в приведенном выше примере найдите gitRepo.git)

Ответы [ 5 ]

82 голосов
/ 02 ноября 2010

В корне репозитория файл .git / config содержит всю информацию о удаленных репозиториях и ветках.В вашем примере вы должны искать что-то вроде:

[remote "origin"]  
    fetch = +refs/heads/*:refs/remotes/origin/*  
    url = server:gitRepo.git  

Также команда git: git remote -v показывает имя удаленного репозитория и URL.«Исходный» удаленный репозиторий обычно соответствует исходному репозиторию, из которого была клонирована локальная копия.

79 голосов
/ 24 июня 2016
git config --get remote.origin.url
26 голосов
/ 27 февраля 2013

это быстрая команда bash, которую вы, вероятно, ищете
напечатает только базовое имя удаленного репозитория

откуда вы берете из :
basename $(git remote show -n origin | grep Fetch | cut -d: -f2-)

в качестве альтернативы, где вы нажимаете на :
basename $(git remote show -n origin | grep Push | cut -d: -f2-)

особенно -n делает команду намного быстрее

7 голосов
/ 05 сентября 2017

Я использую это:

basename $(git remote get-url origin) .git

, который возвращает что-то вроде gitRepo. (Удалите .git в конце команды, чтобы повторить что-то вроде gitRepo.git.)

(Примечание: требуется git> = 2.7.0)

0 голосов
/ 21 июня 2017
git remote show origin -n | ruby -ne 'puts /^\s*Fetch.*(:|\/){1}([^\/]+\/[^\/]+).git/.match($_)[2] rescue nil'

протестировано с использованием стиля 3 URL:

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'
...