私が働いている場所では、半集中型の git リポジトリを使用しています。各開発者は、中央の git リポジトリに独自のサブツリーを持っているため、次のようになります。
主人 アリス/ブランチ1 アリス/ブランチ2 ボブ/ブランチ1 マイケル/フィーチャー リリース/1.0 リリース/1.1
私が持っているツリーでローカルに作業しています。これは中央のツリーにtopic/feature
対応しています。michael/feature
使ってきました
git push origin topic/feature:michael/feature
私の変更をリモートツリーにプッシュします。ただし、これは面倒で間違いが発生しやすくなります (たとえば、開発者名の省略、機能名のスペルミスなど)。
これを行うためのよりクリーンな方法を探しています。たとえば、「git push
」。変更された fetch refspec を使用して別のリモートを設定すると、それが実行されると思われますが、正確に実行する方法がわかりません。また、現在のブランチ定義を変更して別のリモートを使用する方法もわかりません。
私の現在.git/config
は次のようになります。
【リモート「オリジン」】 URL = git://中央/git/プロジェクト フェッチ = +refs/heads/*:refs/remotes/origin/* 【枝「話題・特集」】 リモート = 原点 マージ = refs/heads/michael/project
編集:これをプル/フェッチにも適用したいと思います。しかし、branch.<name>.merge
それを世話しますか?
私はこれを調査し続け、何かを見つけたらここに投稿しますが、他の良いアイデアを得ることを望んでいます.
編集 2:ローカル ブランチ名とリモート ブランチ名を同じにすることにしました。これは、作業が最も少なく、将来の問題が発生しにくいようです。