2017-04-05 2 views
3

Ich habe ein riesiges Git-Repository mit vielen Zweigen. Ich muss innerhalb Jenkins per Shell-Befehl überprüfen, ob es einen Zweig im Repository gibt.Prüfe, ob eine Verzweigung in Git Repo existiert, ohne einen Klon zu erstellen.

Ich mache einen Klon des einzelnen Zweiges wie diese

if `sshpass -p password git clone -b "${BRANCH}" --single-branch ssh://[email protected]/GIT/${REPO}.git`; then 
    echo "success"  
else 
    echo "ERROR: There is no branch "${BRANCH}" inside repo "${REPO}"" 
    exit 42 
fi 

Es ist richtig workes, aber es dauert noch eine Menge Zeit, um einen Zweig zu klonen. Gibt es eine Möglichkeit, es schneller arbeiten zu lassen (vielleicht ohne Klon von Repo oder mit Unterbrechung des Klonens, wenn die Verzweigung gefunden wird)?

Vielen Dank im Voraus

Antwort

2

Sie die Ausgabe von

git ls-remote http://[email protected]/GIT/${REPO}.git 

Von seinem documentation analysieren konnte:

Displays Referenzen zusammen mit dem in einem entfernten Repository-IDs zugeordnet begehen.

+0

Das ist einfach großartig! Vielen Dank! –

0

Um Ihnen nur Ihre Zweige und keine Tags oder irgendetwas anderes tun müssen, um dies zu umgehen,

git ls-remote -h https://github.com/danielgindi/Charts.git 

P. S: Ersetzen Sie mit Ihrer Remote-URL.

Es ist für mich gearbeitet,

git ls-remote -h https://github.com/danielgindi/Charts.git 

a7c7bb4caf7e68e1713468c3a021d0860a587ac8 refs/heads/independent-scatter 
5b22fa99ef80f2004a7439ee6d3c1cfc9c4be010 refs/heads/legacy/v2 
f23e872e7573f8c79862ff4822cfc5683703d424 refs/heads/master 
03939328cd995043877f97daa1c75c0d5a3ab60c refs/heads/xcode-8.3 

bestellen auf Github selbst heraus.

Verwandte Themen