これが私の問題です。マスターからのブランチがあり、いくつかの変更を加えました。少し後、私のパートナーは、何かを壊していたために行った変更を元に戻しました。私が実行したときgit fetch; git rebase master
、マスターは修正され、すべて問題ありませんでした。しかしgit fetch; git rebase my_feature
、my_feature
ブランチを実行したときも、以前と同じ問題がありました。my_feature
元に戻されたコミットを考慮に入れるようにブランチを更新するにはどうすればよいですか? ありがとう!
3 に答える
最初に、リモート マスター ブランチに続くマスター ブランチを git fetch および git merge する必要があります。git checkout master
thenでこれを行うことができますgit pull origin master
。これにより、マスター ブランチがリモート リポジトリと同等の場所に移動します。
次に、新しいコミットの上に機能ブランチをリベースするために次のことを行う必要があります (git revert はブランチへの別のコミットであり、他のコミットと同じように扱われるべきです (状況に応じて特別な懸念があります)):
git checkout my_feature
それからgit rebase master
。
これにより、リモート マスター ブランチを追跡する必要がある新しいローカル マスター ブランチの上にフィーチャー ブランチがリベースされます。
master ブランチが以前にコミットした場合
(A) --> (B) --> (C) --> (D)
my_feature
ブランチはに基づいていまし(D)
たが、現在は元に戻されているため、これがマスターの最新のコミットです。次に、実行してに(C)
リベースできますmy_feature
(C)
git branch my_feature.orig my_feature # optional, delete this branch when satisfied
git rebase --onto master $SHA1_OF_COMMIT_D my_feature.
分岐したので、分岐my_feature
している間master
にやらなければなりません。git rebase origin/master
my_feature