Wir arbeiten hier mit einem semi-zentralisierten Git Repository, wo ich arbeite. Jeder Entwickler hat seine eigene Unterstruktur im zentralen Git Repository, so sieht es etwa so:Kann ich lokale Zweige zu entfernten Zweigen mit unterschiedlichen Präfixen in git zuordnen?
master alice/branch1 alice/branch2 bob/branch1 michael/feature release/1.0 release/1.1
Arbeiten vor Ort in meinem Baum Ich topic/feature
habe, die im zentralen Baum zu michael/feature
entspricht.
Ich habe mit
git push origin topic/feature:michael/feature
meine Änderungen an den entfernten Baum zu schieben. Dies ist jedoch umständlich und fehleranfällig (z. B. unter Weglassen des Entwicklernamens, Fehleingabe des Merkmalsnamens usw.).
Ich bin auf der Suche nach einem saubereren Weg, dies zu tun. Zum Beispiel "git push
". Ich vermute, dass das Einstellen einer anderen Fernbedienung mit einem modifizierten Fetch Refspec es tun wird, aber ich bin nicht sicher, wie genau es gemacht wird. Ich bin mir auch nicht sicher, wie ich meine aktuellen Filialdefinitionen modifizieren kann, um die verschiedenen Fernbedienungen zu benutzen.
Mein aktueller .git/config
sieht ungefähr so aus:
[remote "origin"] url = git://central/git/project fetch = +refs/heads/*:refs/remotes/origin/* [branch "topic/feature"] remote = origin merge = refs/heads/michael/project
Edit: ich auch diese anwenden möchten zieht/abruft. Aber kümmert sich die branch.<name>.merge
darum?
Ich werde weiter hier recherchieren und hier posten, wenn ich etwas finde, aber ich hoffe, andere gute Ideen zu bekommen.
Bearbeiten 2: Ich habe beschlossen, ich werde lokale und Remote-Zweignamen die gleiche beibehalten. Es scheint, es wird die geringste Arbeit und am wenigsten anfällig für zukünftige Probleme sein.
Wenn Sie die Datei .git/config ändern, vergessen Sie nicht, die Datei zuerst zu sichern. Wenn Sie etwas vermasseln, müssen Sie nur die bekannte gute Version der Datei wiederherstellen, um in den entsprechenden Zustand zurückzukehren. – webmat
Das kommt tatsächlich viel bei der Bereitstellung von Git zu Host-Dienste wie Heroku, Nodester und AppFog. – studgeek