2016-05-11 8 views
0

リモートレポにプッシュするのではなく、あるブランチの変更を同じレポの他のブランチにプッシュする方法はありますか?ブランチAで同じプチプチの他の2つのブランチに "プッシュ"を変更

根拠は、私は、私は

git commit -am "making changes to branch c" 
git checkout a 
git merge c 
git checkout b 
git merge c 

が、私はむしろ、チェックアウトする必要はないだろう他のブランチをチェックアウトして、お互いのブランチ

通常のマージを実行することを避けるためにしたいということです

変更をcから他のブランチに "プッシュ"するだけです。以下のような

何か:

git commit -am "making changes to branch c" 
git push local a b // not right at all 

は、それが理にかなって願っています。

私がオンラインで見る唯一のものは、それが別個のレポ(例えば、リモートレポ)であれば、別のブランチにプッシュする方法です。

答えて

1

はい、これを行うことができます。あなたが知っている秘訣は、.という名前の "リモート"という名前のローカルリポジトリを参照することです。 したがって:

git push . HEAD:a HEAD:b 

または:

git push . c:a c:b 

(同じcとしてコミットHEAD名と仮定して)これを行います。 aおよび/またはbへの調整は、すべてのリモートで必要とされるように早送りでなければならないことに注意してください。プッシュを強制することはできますが、これはリモートと同じ効果があります(つまり、コミットを破棄する:--forceでプッシュすることは、git resetとよく似ています)。


これは、このようなgit push /some/where/over/thereとして任意のパスは、ファイルのURLとして扱われ、.はパス、.は「カレントディレクトリ」を意味しているという事実のうち、自然に落ちる、とプッシュレポの上から始まるので、ここには「他の」レポがあります。

関連する問題