2016-05-18 9 views
0

現在、私は2つのブランチを持っています。先週、私はブランチマスター(ブランチ間違った)で私の仕事をコミットし、今私はこれらのコミットをDEVブランチ(右ブランチ)に変更する必要があります、これを行うには良い方法は何ですか?コミットを別のブランチに変更する

はMAC

乾杯にgithubのデスクトップを使用してイム、 ラファエル

+0

'Dev'と' Master'ブランチの関係はどうですか? –

答えて

0

あなたの質問は不明です。だから私はあなたの古いバージョンのマスターが必要であると仮定しています。あなたはDevの新しいバージョンが必要です。つまり、gitの履歴を変更する必要があります。これらのコミットをリモートにプッシュした場合、これはgitの履歴を乱したくないので、実行してはいけないことです。

あなたがするのはcherry-pickです。マスターからコミットしてから、コミット前にマスターをリセットしてください。

あなたがそれを行う前に、すべきでバックアップしたデータ: How to cherry-pick multiple commits

0

私の考えは、おそらく競合を避けるために、パッチ適用使用することでした:どのように桜のピックに

git checkout master 
git checkout -b backup_master 
git checkout DEV 
git checkout -b backup_DEV 

git checkout master 
git format-patch -1 HEAD (if thats all you want) 
git checkout dev 
git apply —check file.patch (check it first) 
git am < file.patch 

最古のためのSHAハッシュとHEADを交換したいでしょうし、それが現在にコミットごとに、*の.patchファイルを作成しますコミット。その後、適切な順序でdevにそれらを単独で適用します。

その後、マスターをもう一度チェックして、そのSHAハッシュをチェックアウトすることで、マスタで不要にする前にコミットに変更することができます。その後、良いメッセージでそれを再コミットします。私はそうするかもしれないと思う。私が誤解した場合、または私がまともで間違っている場合は、私を修正してください。

0

これらのコミットをリモートにプッシュした場合、MASTERブランチからコミットを削除することはできません。

最新のMASTERブランチコードをDEVブランチにフェッチできます。

そのため

: バックアップしDEVブランチgit checkout -b backup_DEVその後:

git checkout DEV 

git stash 

git rebase MASTER 

git push DEV 

git stash pop 

今、あなたはそれがDEVにコミット見ることができます。

関連する問題