web-dev-qa-db-fra.com

Connaître le nom du référentiel d'origine que vous avez cloné dans Git

Quand vous faites votre premier clone en utilisant la syntaxe

git clone username@server:gitRepo.git

Est-il possible d’utiliser le référentiel local pour trouver le nom de ce clone initial? (donc dans l'exemple ci-dessus, trouvez gitRepo.git)

100
Toby

Dans la racine du référentiel, le fichier .git/config contient toutes les informations sur les référentiels et les branches distants. Dans votre exemple, vous devriez chercher quelque chose comme:

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

Aussi, la commande git: git remote -v montre le nom du référentiel distant et l'URL. Le référentiel distant "Origin" correspond généralement au référentiel d'origine, à partir duquel la copie locale a été clonée.

84
allait
git config --get remote.Origin.url
84
Straff

c'est la commande rapide bash que vous êtes probablement à la recherche de
imprimera uniquement un nom de base du référentiel distant

où vous allez chercher de:
basename $(git remote show -n Origin | grep Fetch | cut -d: -f2-)

alternativement où vous appuyez sur to:
basename $(git remote show -n Origin | grep Push | cut -d: -f2-)

surtout -n option rend la commande beaucoup plus rapide

27
Casey

J'utilise ceci:

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

qui retourne quelque chose comme gitRepo. (Retirer le .git à la fin de la commande pour relancer quelque chose comme gitRepo.git.)

(Remarque: Nécessite git> = 2.7.0)

8
adzenith
git remote show Origin -n | Ruby -ne 'puts /^\s*Fetch.*(:|\/){1}([^\/]+\/[^\/]+).git/.match($_)[2] rescue nil'

testé avec 3 style d'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: [email protected]: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'
0
haolun