Je souhaite obtenir le dernier ID de validation du dépôt à distance à distance de Git.
La commande git rev-parse HEAD
fonctionne pour un repo git cloné localement, mais je veux l'obtenir à partir du repo GIT d'origine par une commande CURL ou autre.
Exemple: je souhaite obtenir le dernier ID de validation de l'URL git https://git.appfactorypreview.wso2.com/history/apiapp.git/ .
Comment?
essayez cette commande
git log --format="%H" -n 1
Je pense que ce que vous voulez, c'est ceci:
git ls-remote $URL HEAD
Si HEAD
n'existe pas dans le référentiel distant, vous souhaiterez probablement:
git ls-remote $URL refs/heads/master
Notez que dans la première instance, HEAD
va pointer sur la branche par défaut à extraire dans le référentiel. Vous devez être sûr que c'est la branche que vous voulez, ou utilisez simplement le deuxième formulaire et spécifiez celui que vous voulez (remplacez refs/heads/master
Par le nom de la branche que vous voulez: refs/heads/BRANCH_NAME
.
Vous pouvez utiliser git ls-remote
pour ça. Parce que je reçois un 'Unauthorized access for repository apiapp.git'
J'utilise comme exemple torvalds linux-repo.
$ git ls-remote --heads git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
6d15ee492809d38bd62237b6d0f6a81d4dd12d15 refs/heads/master
Une autre façon, sans utiliser git log:
git rev-parse HEAD
ma réponse n'aiderait pas le PO, car il n'est pas sur github, mais je pense que je le mentionnerais de toute façon, car il utilise curl
ou wget
, comme demandé par le PO.
wget -qO- http://api.github.com/repos/Ghini/ghini.desktop/commits/ghini-1.0
Ghini
est mon dépôt, ghini.desktop
est mon référentiel, ghini-1.0
est la branche qui m'intéresse. Remplacez-les pour les adapter à votre cas.
la réponse JSON est un dictionnaire et le PO était intéressé par son champ sha
, mais il contient beaucoup plus d'informations.