1

私はgitを使っているプロジェクトを持っています。私がレポを受け取ったとき、それはコミットされていない変更をいくつか持っていました。私はそれらをコミットし、自分のものを作り始めました。あるコミットに別のコミットの変更が含まれている場合、どのようにマージしますか?

私は別の開発者からの仕事を受け取りました。その開発者は、変更内容とコミットされていない元の変更をコミットしました。

私は別々のフォルダに2つのgit reposを持っています。できるだけコンフリクトを少なくして変更をマージする方法を知りたいと思います。彼らを指しているリポジトリから

1. Add a remote:あなたはあなたの先端が現在チェックアウトされ、それがmasterで、1つのオプションになります持っていると仮定すると、

答えて

3



2.次に、あなたが元の変更をコミットどこから分岐され、あなたが作った変更のみ、との新しいブランチを作成し、彼の変更
git fetch hisRemote

2で取得します。
git branch myChanges

3.バックは、元はその後、彼の変化とそのブランチに、元の変更で彼のブランチをマージ
git checkout master
git reset --hard <commitOriginalChangesAreIn>

4.を変更犯しどこコミットへmaster枝をリセットします。
git merge hisRemoteBranch

5.最後に、変更したブランチの先端をブランチにマージします。
git merge myChanges

+0

私は 'git fetch hisRemote'を実行すると、私のmasterブランチが他のdevsの変更で上書きされてしまいます。これは起こるはずですか? (私の仕事は別の支店にあります。)ステップ3に進むと、私はインポートしているすべての変更を元に戻しています。 –

+1

フェッチはローカルブランチを上書きしません。それは確かですか? – Andy

関連する問題