Vérifier si git remote existe avant la première poussée
Je suis en train d'écrire un script bash et j'ai besoin d'un test pour voir si une distance existe.
Supposons, par le concret, que je veux tester si la distance faraway
existe. Si j'ai poussé quelque chose à faraway
, je peux faire if [ -d .git/refs/remotes/faraway ]; then ...
. Mais aussi loin que je peux voir, l'alias faraway
peut encore être définies, même si .git/refs/remotes/faraway
n'existe pas.
Une autre option est d'analyser la sortie de git remote
et voir si faraway
y apparaît. Mais je me demandais s'il existe un moyen plus facile de vérifier si faraway
est défini, indépendamment de si .git/refs/remotes/faraway/
existe.
Vous devez vous connecter pour publier un commentaire.
Une seule pensée: Vous pouvez tester statut de sortie sur
git ls-remote faraway
. Ce sera effectivement la force de la communication avec la télécommande, au lieu de simplement regarder pour sa présence ou de l'absence localement.if git ls-remote faraway ...
. La commande test n'est pas nécessaire.fatal ...
dans la sortie lorsquefaraway
n'existe pas d'ajouter&>/dev/null
à la fin de la première ligne?--quiet
drapeau dans l'utilisation de l'aide, mais il n'est pas dans la page de man et il ne semble pas faire quoi que ce soit./dev/null
. Le--quiet
drapeau a été ajouté au silence une seule ligne quandgit ls-remote
est délivré sans argument./dev/null
redirection si vous le souhaitez. La seule raison pour laquelle j'ai quitté c'est qu'il ya quelques sorties à la redirection, et je ne savais pas si tu voulais, il est totalement silencieux ou pour les erreurs de retour, etc.Un autre moyen de vérifier si
faraway
est défini dans.git/config
:Si la distance est définie dans
.git/config
, vous pouvez éviter d'envoyer une requête ping au serveur distant avecgit remote
.faraway
.