1

最近Gitを使い始めました。少し問題が発生しました。私はコミットした何かに取り組んでいましたが、コミットをプッシュしようとすると、マージの競合が発生しました。私はいくつかのものを押しましたが、どういうわけか、gitリポジトリには私のコミットが先頭にあり、私の直前にプッシュされた作業は(競合のために)マージされませんでした。

誰かが私を正しい方向に向けてもらえますか?

以前のコミット (マージされていないもの) を何らかの方法でプルし、それを私のものとマージしてから、両方をプッシュする必要があると想定しています。

また、マージの競合に対処するには、meld のようなツールを使用できることにも気付きました。繰り返しますが、私はこれにかなり慣れていません。

ありがとう。

4

1 に答える 1

1

あなたが試すことができます:

# restore the old version of that file
# supposing it was 2 revisions ago on master branch
git checkout master~2 -- path/to/your/file

# merge it with the most recent version
git checkout --merge -- path/to/your/file

それが機能しない場合は、その古いファイルを別の場所に復元し、それをそのファイルの現在のリビジョンに手動でマージして、新しいバージョンを追加してコミットする必要があります(今回は単に古いバージョンを上書きしません) 。

于 2013-03-19T09:18:53.010 に答える