2017-11-16 23 views
0

私はGitにはかなり新しく、最近はブランチを使い始めましたが、私はそのコンセプトを持っていないと思っています。今は問題に遭遇しています。ローカルリポジトリのディレクトリが消えましたか?

基本的に、私はdevelブランチを作成しました。小さなブランチを作成するためのフィーチャーブランチを作成しています。私はフィーチャーブランチのいくつかのファイルを削除してdevelで削除しましたが、今度はそれらをもう一度望みました。 GitHubでオンラインで見ることができるので、おそらくまだマスターになっていますが、コマンド "git checkout master"を実行すると、多くのディレクトリとファイルが消えてしまいました。私は本当になぜこれが起こったのか分からない。問題を解決するにはどうしたらいいですか?

EDIT:マスターブランチに戻ったときに、他のブランチの変更が問題を引き起こす可能性はありますか?マスターブランチがこれまでと同じままでいなければならないような気がします。

EDIT 2:機能ブランチで作業していて、「git checkout devel」を実行したときに削除されたように見えます - このコマンドを実行したときに深いサブディレクトリにありました。 "D ... file"行が出力され、 "branch '' devel 'に切り替わりました。実際、これはブランチ間で切り替わります。

+0

チェックアウトの前後にディレクトリ構造の例を教えてください。マスターをチェックアウトする前に、開発ブランチでこれらのファイルを追加してコミットしましたか? – roelofs

+0

@Glu多くのディレクトリやファイルが消えたと言って何を指していますか?これらのファイルとディレクトリはgithubのマスターにありますか? –

+0

@mithun_ghoseはい、彼らはgithubのマスターに存在します。 – Glu

答えて

0

masterのあなたの現在のチェックアウトが壊れているように見える場合、あなたは以下を使用して、HEAD、または特定のコミットのいずれかにそれをリセットしようとすることができます:

git reset --hard HEAD

これは、ハードリセットを行います最後に知られているコミット、ブランチ内の作業コピーの変更(あなたには表示されません)が失われます。

問題が解決しない場合は、新しいディレクトリに新しいクローンを作成する必要があります。

0

リセットしたい場合。

を呼び出すことによってコミットあなたのコミットのすべてを見ることができ、そこからあなたはすべてがOKだった場所をあなたの最後の良好なコミットを知ることができ、コマンドにその後

git log 

を呼び出すことによって、あなたの既知の良いにリセットすることができます

git reset --hard commit_number 

ただし、コミット後に作成されたすべての現在のファイルが削除されるので注意してください。

関連する問題