0

私は、ソース コード リポジトリとして GIT を使用して同僚と作業しています。彼がブランチ chris に取り組んでいると仮定すると、私はブランチ マイクに取り組んでいます。ある時点で、彼はコンテンツの一部を私のブランチの mike から彼のブランチの chrisにマージしました。ブランチマイクに変更を加えることはもうありません。その後、彼はさらに開発を行いました。

今、ブランチの最新のコンテンツを保持したいと思います (クリスとして)。つまり、mike のすべてのコンテンツを chris のコンテンツで上書きしたいと考えています。

これを達成するにはどうすればよいですか?

ありがとう、マイク

4

3 に答える 3

2

それと同じくらい簡単です。

1)ブランチマイクをチェックアウトする

git checkout mike

2)同僚のブランチクリスをマージします

git merge chris

同僚がすでに変更をマージしているため、競合は発生しません。

于 2012-06-26T12:42:24.513 に答える
2

あなたがブランチ「mike」にいると仮定します:

git reset --hard chris

于 2012-06-26T12:40:14.477 に答える
2

私の理解が正しければ、クリスからマイクへの早送りマージを実行できるはずです。例えば:

git fetch --all
git checkout mike
git merge origin/chris

一方、「mike」ブランチを削除して「chris」のコピーに置き換えたい場合は、次のようにします。

git fetch --all
git checkout master
git branch -D mike
git checkout -b mike origin/chris

ただし、リポジトリでこの種の操作を行う前に、確実なバックアップがあることを確認してください。複雑なマージを巻き戻すよりも、tarball またはバックアップを復元する方が簡単です。

于 2012-06-26T12:41:38.863 に答える