J'ai retiré un projet de GitHub il y a quelques jours. J'ai depuis découvert qu'il y avait plusieurs fourches sur GitHub, et j'ai négligé de noter celle que j'avais prise à l'origine. Comment puis-je déterminer laquelle de ces fourches j'ai tirée?
git
github
git-remote
Tim
la source
la source
git remote get-url origin
sera possible. Voir ma réponse cigit remote get-url origin
ne fonctionne pas pour moi - peut-être déconseillé?git remote show origin
bien travaillé.git remote -v
vous donner beaucoup d'informations, y compris cela.git remote get-url origin --push
fonctionne bien, apparemment pas déprécié et fournit de belles informations brèves (git remote show origin
peut être très verbeux) qvgit help remote
.Réponses:
Si vous souhaitez uniquement l'URL distante ou si vous n'êtes pas connecté à un réseau pouvant atteindre le référentiel distant:
Si vous avez besoin d'une sortie complète et que vous êtes sur un réseau pouvant atteindre le référentiel distant où réside l'origine:
Lors de l'utilisation
git clone
(depuis GitHub, ou tout autre référentiel source d'ailleurs) le nom par défaut de la source du clone est "origine". L'utilisationgit remote show
affichera les informations sur ce nom distant. Les premières lignes devraient montrer:Si vous souhaitez utiliser la valeur dans le script, vous utiliserez la première commande répertoriée dans cette réponse.
la source
git remote show origin
(éventuellement avec l'indicateur -n fourni par @ Casey), ou avecgit remote -v
comme suggéré par @Montaro et @rodel..gitconfig
dossier l'aurait, mais je ne l'ai pas vu dans le mien.´~/.gitconfig
est global pour tous lesgit
référentiels, cela vient ici de la configuration locale qui est généralement dedans.git/config
(cependant pour les sous-modules git la réponse est un peu plus difficile). Notez questrace git config --get remote.origin.url
c'est votre ami.Si vous le souhaitez à des fins de script, vous ne pouvez obtenir que l'URL avec
la source
git remote show origin
montre juste "conq: le référentiel n'existe pas.").url.<base>.insteadOf
. Voir ma réponse - git a une commande à cet effet.Tu peux essayer:
Il imprimera toutes les URL fetch / push de vos télécommandes.
la source
Pour obtenir la réponse:
C'est mieux que de lire la configuration; reportez-vous à la page de manuel pour
git-ls-remote
:Comme souligné par @Jefromi, cette option a été ajoutée dans la v1.7.5 et n'est pas documentée avant la v1.7.12.2 (2012-09).
la source
origin
.remote get-url
option. C'est un remplacement sans rendez-vous.Avec Git 2.7 (sortie le 5 janvier 2015), vous avez une solution plus cohérente utilisant
git remote
:(joli pendentif de
git remote set-url origin <newurl>
)Voir commit 96f78d3 (16 sept. 2015) de Ben Boeckel (
mathstuf
) .(Fusionné par Junio C Hamano -
gitster
- en commit e437cbd , 05 oct.2015 ) :Avant git 2.7, vous aviez:
la source
Pour résumer, il existe au moins quatre façons:
(Ce qui suit a été essayé pour le référentiel Linux officiel)
Moins d'informations:
et
Plus d'information:
Encore plus d'informations:
la source
git config --get remote.origin.url
récupère l'URL d'origine qui a été définie avecgit remote add ...
ougit remote set-url ...
tandis quegit ls-remote --get-url origin
récupère l'URL qui est réellement utilisée pour accéder à la télécommande - qui peut être différente en présence degit config --global url.XXX.insteadOf YYY
. Les deux sorties peuvent donc différer! Notez également quegit ls-remote --get-url
(sansorigin
) ne récupère pas nécessairementorigin
, à la place, il affiche le suivi en amont, il échouera donc par exemple dans l'état HEAD détaché.Je pense que vous pouvez le trouver sous
.git/config
etremote["origin"]
si vous n'avez pas manipulé cela.la source
Réponse courte:
ou, une alternative aux scripts rapides purs:
Quelques informations:
$ git remote -v
imprimera toutes les télécommandes (pas ce que vous voulez). Vous voulez de l'origine, non?$ git remote show origin
beaucoup mieux, ne s'affiche queorigin
mais prend trop de temps (testé sur la version 1.8.1.msysgit.1 de git).Je me suis retrouvé avec:,
$ git remote show -n origin
qui semble être le plus rapide. Avec-n
elle ne récupérera pas les têtes distantes (branches AKA). Vous n'avez pas besoin de ce type d'informations, non?http://www.kernel.org/pub//software/scm/git/docs/git-remote.html
Vous pouvez appliquer
| grep -i fetch
aux trois versions pour afficher uniquement l'URL de récupération.Si vous avez besoin de vitesse pure, utilisez:
Merci à @Jefromi de l' avoir signalé.
la source
Pour moi, c'est le moyen le plus simple (moins de frappe):
en fait, je l'ai dans un
alias
appelés
qui fait:Vous pouvez ajouter à votre profil avec:
alias s='git remote -v && git status'
la source
Je ne me souviens jamais de tous les paramètres des commandes Git, donc je mets juste un alias dans le
~/.gitconfig
fichier qui a plus de sens pour moi, donc je peux m'en souvenir, et cela se traduit par moins de frappe:Après avoir rechargé le terminal, vous pouvez alors simplement taper:
Voici quelques-unes de mes plus fréquemment utilisées:
Je recommande également fortement git-extras qui a une
git info
commande qui fournit des informations beaucoup plus détaillées sur les branches distantes et locales.la source
L'URL Git sera à l'intérieur du fichier de configuration Git. La valeur correspond à la clé
url
.Pour Mac et Linux, utilisez les commandes ci-dessous:
Pour Windows, ouvrez le fichier ci-dessous dans n'importe quel éditeur de texte et recherchez la valeur de la clé
url
.Remarque: Cela fonctionnera même si vous êtes hors ligne ou si le serveur git distant a été arrêté.
la source
git remote get-url origin >> fatal: No such remote 'origin'
,git config --get remote.origin.url >>
J'utilise essentiellement:
Cela fonctionne pour la console de commande Git Bash ou la console de commande CMD dans Windows. Cela dit, cela fonctionne avec la version 2.x de Git.
la source
Cette commande donnera toutes les informations relatives à votre référentiel.
la source
La télécommande en amont ne peut pas être appelée "origine", voici donc une variante:
Ou:
Pour des variables plus utiles, il y a:
la source
Pour obtenir l'adresse IP / le nom d'hôte de
origin
Pour les
ssh://
référentiels:Pour les
git://
référentiels:la source
ssh
cela ne fonctionne qu'en l'absence de~/.ssh/config
qui réécrit le nom d'hôte ou l'alias.Pour compléter les autres réponses: Si la télécommande a pour une raison quelconque été modifiée et ne reflète donc pas l' origine origine, la première entrée dans le reflog (la dernière entrée affichée par la commande
git reflog
) doit indiquer où le repo a été cloné de.par exemple
(Gardez à l'esprit que le reflog peut être purgé, il n'est donc pas garanti que cela fonctionne.)
la source
Avec
git remote show origin
vous devez être dans le répertoire des projets. Mais si vous souhaitez déterminer les URL de n'importe où ailleurs, vous pouvez utiliser:Si vous avez souvent besoin de cette commande, vous pouvez définir un alias dans votre
.bashrc
ou.bash_profile
avec MacOS.Il vous suffit donc d'appeler
giturl
dans le dossier racine Git afin d'obtenir simplement son URL.Si vous étendez cet alias comme ceci
vous obtenez uniquement l'URL simple sans le précédent
dans
vous obtenez plus de possibilités dans son utilisation:
Exemple
Sur Mac, vous pouvez appeler
open $(giturl)
pour ouvrir l'URL dans le navigateur standard.Ou
chrome $(giturl)
pour l'ouvrir avec le navigateur Chrome sous Linux.la source
Une manière simple consiste à ouvrir le
.git/config
fichier:Éditer:
vim .git/config
ounano .git/config
la source
Imprimez des URL de récupération à distance arbitrairement nommées:
la source
Si vous ne connaissez pas le nom de la télécommande en amont pour une branche, vous pouvez d'abord le rechercher en inspectant le nom de la branche en amont sur laquelle la branche actuelle a été construite. Utilisez
git rev-parse
comme ceci:Cela montre cette branche en amont qui était la source de la branche actuelle. Cela peut être analysé pour obtenir le nom distant comme ceci:
Maintenant, prenez cela et dirigez-le vers
git ls-remote
et vous obtiendrez l'URL de la télécommande en amont qui est la source de la branche actuelle:Il convient maintenant de noter que ce n'est pas nécessairement le même que le référentiel distant source à partir duquel le clonage a été effectué. Dans de nombreux cas, cependant, ce sera suffisant.
la source
Usage:
Production:
la source
Je préfère celui-ci car il est plus facile à retenir:
Il répertorie toutes les informations utiles telles que:
la source
il suffit d'utiliser cette commande où votre dossier .git placé
git config --get remote.origin.url
si vous êtes connecté au réseau
git remote show origin
il vous montrera l'URL à partir de laquelle un référentiel Git local a été initialement cloné.
j'espère que cette aide
la source