2012-04-23 18 views
0

私の同僚は1つの支店にありました。彼女が自分のブランチを私とマージしたとき、私の変更は入りませんでした。ソースファイルは "C"(Conflict)ではなく "M"(Modified)でした。私は私の支店に戻り、私は変更されたコードがまだそこにあり、私のコードが正常に動作しているのを見ました。それから私たちは再びマージを試みると思っていましたが、デスクトップから私の支店にいました。同じファイルが "M"で、 "C"でないファイルが現れました。Gitでのマージのロールバック

もう一度変更が上書きされました。だから今私は合併に戻ろうとしている。最新のコミットをクリックしてそのコミットにロールバックすることで、http://mac.github.com/からダウンロードしたGithubツールを使用しようとしましたが、私の変更はまだ消えてしまったようです。私は歴史の枝の合併を見ていない。それは合併後に私がコミットしていないからですか?

マージする前にブランチに戻るにはどうしたらいいですか?

答えて

1

私はXcodeのバージョン管理GUIやGithubツールを使用していません。あなたの変更を持っていたコミットのSHA1がわかっている場合は、コマンドラインでこれを行うことができます。あなたのコミットであるためにあなたの現在のブランチをリセットします

git reset --hard <the sha1> 

を。また、作業ツリー内のファイルをリセットします。注意してください。コミットされていない変更があると、それらは失われます。

0

最後にn個の未処理のコミットをリセットすることができます(まだコミットされていますが、プッシュされていません)。そして、あなたが使用する必要があるコマンドは

git reset HEAD -- will omit the last commit 
git reset HEAD^n -- will omit the n number of last unpushed commits. 
+0

です。最初のものは 'git reset HEAD ^'( 'HEAD^1'のショートカットです)でなければなりません。 'git reset HEAD'では、gitにHEADをHEADに設定するように指示します。 – KingCrunch

+0

はい、その直前に、私は見逃しました。 – Mohanraj

関連する問題