2011-09-14 21 views
1

私は2つのブランチdeveloppersonalを持っています。私はGitExtensionsツールを使用します。私はdevelopブランチで作業していたので、personalとマージする必要がありました。私はマージを開始し、ツールはいくつかの競合(パッケージの名前が違う)があることを通知し、mergetoolを使用して競合を解決するように提案しました。しかし、mergetoolはいつものように開かれませんでしたが、すべての競合が解決されたというメッセージが表示されました。手動で解決することを期待していました。もちろん、これは誤って(?)起こったマージは間違っており、これらの変更をReset current branch to hereで元に戻して、前のコミットを選択しようとしました。残念ながら、変更は元に戻されましたが(これは問題ありません)、フォルダの名前(アンドロイドプラットフォームの私のパッケージ)はありませんでした。私はcheckoutresetによって変更を元に戻そうとしましたが、ファイルシステムのスナップショットを取得できませんでした。私は非常にgitに新しいです、この問題を解決する方法をアドバイスをしてください。2つのブランチをマージして行った変更を元に戻す方法

答えて

1

hardをリセットしましたか? Gitの拡張では、あなたが変化する前にコミットするには、あなたのブランチをリセットするとhard

言うチェックボックスを選択し、すべてがが正確リポジトリにあったものをその時にコミットするにリセットが必要です。フォルダ名が正しくないと言っている場合は、その時点で追跡されていたと確信していますか?その時点で追跡中であるかどうかは、実行時に確認できます。git ls-files

その時点で追跡されている場合は、その時点に戻ってからgit reset --hardを実行してみてください。これを行うと、ファイルを追跡する必要のある未保存の変更は永久に失われますので、すべてコミットしたことを確認するか、変更をgit stash行ってください。

+0

あなたは正しく、それらは 'git ls-files'に従って追跡されませんでした。これがどうして起こったのか分かりません。先日私はそれらの名前を変更し、これらの名前を変更しました。また、私のソースファイルはこれらの名前が変更されたフォルダにありました。今度はファイルは整っていますが、名前が変更されたフォルダにはありません。非常に非常に奇妙な、私はこのくそに私の頭を包むことができません。 – Eugene

+0

名前を変更したコミットを見て、実際にコミットしたかどうか確認してください。 'git status'とは何ですか?名前の変更は保留中ですか? – Andy

+0

私は '個人的な'枝を作成した瞬間を見つけることは可能ですか? – Eugene

0

元に戻すブランチをチェックアウトし、git logを使用して、必要な状態に対応するコミットのハッシュを取得します。 次に、git reset HASHまたはgit chevkout HASHを使用して、そのコミットに戻すことができます。

関連する問題