2012-05-02 15 views
2

私はXCodeを使ってプロジェクトを進めています。幸いにも、私はそれがすべてのプロジェクト内にGitリポジトリを保持していることが分かりました。だから、コードを間違えた後、私はちょうど単一ファイルGit Checkoutを元に戻す

git checkout aux.c 

からこれらの間違いから戻って移動する。残念ながら、私が知ったように、Xcodeは自動コミットしないので、空白のファイルで終わってしまいました。 これ以降、私は何もコミットしませんでしたが、このチェックアウトを元に戻す方法はまだ分かりません。

答えて

0

実際、gitで最初のコミットを元に戻すことは不可能です。したがって、Xcodeを実行している場合は、手動で頻繁にコミットしてください。

しかし、別の方法があります。

OS X 10.7 Lion以降(Snow Leopardについてはわからない)を使用している場合は、OS Xのバージョン機能を使用してファイルを回復できます。あまりにも遅いですが、それは動作するはずです

2

申し訳ございません。 :-(ファイルを別の方法で置き換えなければならないでしょう。

gitがファイルを追跡する場所は2つあります - コミットとインデックス/ステージング領域です。コミットがなかったので、ステージング領域のうち、ファイルのバージョン、それは次のようになり、他の場所はありません。

それはまだショーは、そのファイルへの変更を上演していないことを確認するために、場合にだけgit statusを実行してください。

万が一あなたはそれをエディタで開いていて、git checkoutが作成したファイルの変更を取り消すことができますか?TextmateやSublimeTextのようなエディタでは許可されますが、他のエディタでは許可されません。

+0

ええと、私は試してみました.... git statusはファイルを変更したものとして表示し、XCodeは直ちにファイルをリロードします...もう一度、このファイルの最初から作業してください。 .. –

+0

さて、私は間違いなく不運です。 Xcodeが自動的に何もコミットしないという最も難しい方法から学びました。少なくとも私はちょうどゼロからほとんどすべてを再構築することができました。助けてくれてありがとう、BTW。 P .:ちょうどコミットしました。ちょうど確かに、あなたは知っています... –

1

ファイルがリポジトリにコミットされたことがない場合、残念ながらあなたは不運です。

空のgitリポジトリがあるだけで、ファイルが失われてしまい、バージョン(Lionに付属)やTime Machineがあなたの間違いからの回復に最善の賭けになる可能性があります。

リポジトリに何かがコミットされているかどうか確認するには、git logを使用してください。あなたが空の応答を得たら、あなたは運が悪いです。

残念ながら、これはおそらくあなたが探していた答えではありません。

+0

はい、私はXcodeによって行われた最初のコミットを取得します。まあ、私はXcodeであまりにも多くのことを信じていました。スクラッチに戻る。 –

関連する問題