2014-11-04 22 views
15

Sto cercando il comando git sul mio computer locale che posso eseguire per scoprire la versione di git in esecuzione sul server remoto? Se questo è anche possibile.Scoprire la versione di git sul server remoto

+0

Interessante domanda. Perchè vuoi fare questo? –

+0

Sono curioso di sapere se il mio fornitore offre quello che mi ha promesso :-) – rudimenter

+0

Puoi, se possiedi un account di shell, ssh in e controllare cosa sta funzionando lì. È possibile? Altrimenti, posso pensare a un setup di brughiera robinson dove metti qualcosa in un gancio che stampa la versione di git. –

risposta

16

moderni server Git (a partire dal git 1.7.12.1) torneranno loro informazioni sulla versione nelle capacità negoziazione nel protocollo. Anche se è esatto che non esiste un comando git che puoi eseguire localmente, puoi semplicemente interrogare il server git per le informazioni e una versione recente fornirà il numero di versione.

È possibile utilizzare un client Web per richiedere:

<repository url>/info/refs?service=git-upload-pack 

ed esaminare la prima linea per il rapporto agent=.

Per esempio, contro CodePlex:

% curl https://git01.codeplex.com/gittf/info/refs\?service=git-upload-pack 
000000bd43569b9f6f29136b6544809eacd2417a308f9341 HEAD\0multi_ack thin-pack 
side-band side-band-64k ofs-delta shallow no-progress include-tag multi_ack_detailed 
no-done agent=git/1.8.4.msysgit.0 

che indica che CodePlex sta usando Git per Windows 1.8.4 (git/1.8.4.msysgit.0).

O contro GitHub:

% curl https://github.com/libgit2/libgit2.git/info/refs\?service=git-upload-pack 
000000f83f8d005a82b39c504220d65b6a6aa696c3b1a9c4 HEAD\0multi_ack 
thin-pack side-band side-band-64k ofs-delta shallow no-progress include-tag 
multi_ack_detailed no-done symref=HEAD:refs/heads/master 
agent=git/2:2.1.1~peff-bare-reflogs-fetch-616-gc016f98 
... ref information removed ... 

Indicando che GitHub utilizza una versione personalizzata git: git/2:2.1.1~peff-bare-reflogs-fetch-616-gc016f98.

+0

Questo è molto interessante. +1. –

+0

Non è facile come pensavo ma è ancora una soluzione valida. Sarebbe bello se ci fosse il comando git per ottenere informazioni sul back-end remoto. – rudimenter

Problemi correlati