web-dev-qa-db-fra.com

Comment obtenir le dernier ID de validation d'un dépôt distant à l'aide d'une commande semblable à celle de curl?

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?

45

essayez cette commande

git log --format="%H" -n 1
77
Litmus

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.

30
John Szakmeister

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
13
silvio

Une autre façon, sans utiliser git log:

git rev-parse HEAD

8
brunetton

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.

1
mariotomo