Git: Gleichzeitiger Push zu mehreren Upstream Repositories

Achtung! Dieser Artikel ist älter als ein Jahr. Der Inhalt ist möglicherweise nicht mehr aktuell!

Meine öffentlichen Projekte sind eigentlich auf GitHub zu finden. Ich habe aber trotzdem gerne eine Kopie bei mir auf meinem Server. Das Problem ist, dass ich nicht für jedes upstream-Repository einen einzelnen push-Befehl absetzen will.

Im Projektverzeichnis existiert ein .git-Verzeichnis. In diesem befindet sich eine Datei mit dem Namen config. In diesem Beispiel habe ich ein Projekt mit zwei upstream-Repositories: veloc1ty und github

[core]
 repositoryformatversion = 0
 filemode = true
 bare = false
 logallrefupdates = true

[branch "master"]
 remote = origin
 merge = refs/heads/master

[remote "veloc1ty"]
 url = git@veloc1ty.de:PHPSetGet.git
 fetch = +refs/heads/*:refs/remotes/origin/*

[remote "github"]
 url = git@github.com:vlcty/CLI-PHP-SetGet-generator.git
 fetch = +refs/heads/*:refs/remotes/github/*

Nun will ich veloc1ty und github zusammenfassen. Dazu erzeuge ich ein neues remote-Objekt in der Datei und füge zwei url-Zeilen ein:

[core]
 repositoryformatversion = 0
 filemode = true
 bare = false
 logallrefupdates = true

[remote "origin"]
 url = git@veloc1ty.de:PHPSetGet.git
 url = git@github.com:vlcty/CLI-PHP-SetGet-generator.git
 fetch = +refs/heads/*:refs/remotes/origin/*

[branch "master"]
 remote = origin
 merge = refs/heads/master

[remote "veloc1ty"]
 url = git@veloc1ty.de:PHPSetGet.git
 fetch = +refs/heads/*:refs/remotes/origin/*

[remote "github"]
 url = git@github.com:vlcty/CLI-PHP-SetGet-generator.git
 fetch = +refs/heads/*:refs/remotes/github/*

Nun kann man ganz normal arbeiten und irgendwann seinen push ausführen:

veloc1ty@laptop:~/workspaces/perl/PHPSetGet$ git push -u origin master

Die Ausgabe sieht dann zum Beispiel wie folgt aus:

veloc1ty@laptop:~/workspaces/perl/PHPSetGet$ git push
Counting objects: 20, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (16/16), done.
Writing objects: 100% (18/18), 15.77 KiB | 0 bytes/s, done.
Total 18 (delta 5), reused 0 (delta 0)
To git@veloc1ty.de:PHPSetGet.git
 7067353..2d69c3c master -> master
Counting objects: 51, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (38/38), done.
Writing objects: 100% (51/51), 20.05 KiB | 0 bytes/s, done.
Total 51 (delta 15), reused 0 (delta 0)
To git@github.com:vlcty/CLI-PHP-SetGet-generator.git
 * [new branch] master -> master

 


Du hast einen Kommentar, einen Wunsch oder eine Verbeserung? Schreib mir doch eine E-Mail! Die Infos dazu stehen hier.

🖇️ = Link zu anderer Webseite
🔐 = Webseite nutzt HTTPS (verschlüsselter Transportweg)
Zurück