2016-11-10 3 views
0

Was wäre ein guter Weg, um alle Zweige (branch -av zwischen beiden Repos) in [remote "all"] nach einem Push zu holen? Ich habe für beide origin und backup holen, aber es holt nur das erste.Hinzufügen von zwei Repos zu git config, wie kann ich beide nach einem Push automatisch holen?

[core] 
     repositoryformatversion = 0 
     filemode = true 
     bare = false 
     logallrefupdates = true 
     ignorecase = true 
     precomposeunicode = true 
[remote "origin"] 
     url = [email protected]:origin/repo.git 
     fetch = +refs/heads/*:refs/remotes/origin/* 
[remote "backup"] 
     url = [email protected]:backup/repo.git 
     fetch = +refs/heads/*:refs/remotes/backup/* 
[remote "all"] 
     url = [email protected]:origin/repo.git 
     url = [email protected]:backup/repo.git 
     fetch = +refs/heads/*:refs/remotes/origin/* 
     fetch = +refs/heads/*:refs/remotes/backup/* 
[branch "master"] 
     remote = all 
     merge = refs/heads/master 

Ich bin derzeit die Strecke gehen git push all [branch] einzutippen, gefolgt von git fetch all seit dem Abruf nur es ist das erste Repo in [remote "all"] aufgeführt automatisch ist Grabbing (obwohl ich beide aufgeführt haben.)

Antwort

2

können Sie tu das für fetch. (Sie können für push, aber immer noch rate ich davon ab. Wenn Sie Ihre all behalten möchten, würde ich mindestens empfehlen, die url auf etwas ungültiges einzustellen und die Push-URLs über pushurl - obwohl ich zugeben, ich habe dieses Setup noch nie getestet .)

Was Sie stattdessen tun können und sollten, ist mehrere Fernbedienungen (wie du, Fern origin und Fern backup) und dann deklarieren eine Fern Gruppe wie in the git remote documentation beschrieben erklären. Die Standardgruppe heißt default, und wenn Sie keine definieren, sucht git remote update automatisch nach alle Fernbedienungen und überspringt nur diejenigen, die mit einem speziellen Flag "Ich bin nicht im Standardsatz" konfiguriert sind.

Daher löschen Sie einfach die all Repo und stattdessen git fetch laufen, laufen git remote update (oder git fetch --all). (Oder lassen Sie all drinnen für drücken, aber mein OCD sagt immer noch "tu das nicht" :-))

Verwandte Themen