2011-08-08 10 views
0

gitリポジトリに深刻な問題が発生しました。私は前に2つの支店を持っていた、と私は昨夜のコードを書いて、githubにプッシュするのを忘れてしまった。今朝私は他のマシンを使い、新しいブランチをフォークしてプッシュしようとしました(コードはdropboxに保存されていますので、どのマシンで使用しているかは問題ありません)。私はラップトップを使用していないことに気づいたので、私はラップトップを開けて、今作成したブランチに入るようにしました。しかし、私はそれをすることができないようです、そして、悪いことに、私が他のマシンでコミットしたすべてのコードはなくなってしまいました!私は、リストのブランチを見てgit branchを使用し、今では次のようだ:最初の「centeredFormは」私は他のマシン上に作成したブランチ、および「centeredformを」であるgit branch messed up

centeredForm (shang's conflicted copy 2011-08-08) 
* centeredform 
    master 
    refinement 

が、私はその後、私のlabtop上で作成したブランチです。私のコードは消えていますか?または、以前の状態に復元する方法はありますか?コミットかどうかを確認するために

+0

あなたはcenteredFormブランチに切り替えることを試みましたか(私はあなたの仕事が昨日からであると仮定しています)? GitのチェックアウトcenteredForm – richardolsson

+0

有線事がブランチ「centeredForm」があると思われるということですが、私はそれに切り替えるしようとしたときに、gitが言う:「エラー:PATHSPEC 『centeredForm』はgitのに知られている任意のファイル(複数可)と一致しませんでした。 " –

答えて

5

、それは失われていません。歴史は常にあります:

git reflog 

次に、あなたがあなたの最後のSHAコミットつかむと、任意の混乱を元に戻すことができます。

git reset --hard <SHA> 

重要:バックアップeveryhing最初。 reset --hardはコミットされていない変更をすべて削除します。

0

はまだそこにある、とDropboxのは、それを「紛失」しませんでした。 git rev-parse branchYouLostを使用してください。これは、そのブランチのコミットを検索します。私は、これはこれは無効なオブジェクトであることを教えてくれますと仮定していますあなたのエラーメッセージのルックスからgit cat-file -t SHA_above_command_gave_you

を行うよりも

。その場合、dropboxはあなたの支店の先端を失ったように見えます。

試してみて、いくつかのあなたの失われたコミットを見つけるために別のオプションはgit reflogを使用して試してみて、それらの一つがインクルードが必要にコミット含まれているかどうかを確認することです。 git cat-file -p [email protected]{n}を使用してログメッセージを取得し、ログメッセージが欠落していないかどうかを確認できます。それがコミットされた場合は

関連する問題