4

誰かがここで何が起こっているのかを理解するのを手伝ってもらえますか?

私はgit log --oneline吐き出すから始めます:

4df9421 (HEAD, master) moved some aliases around
d3810e4 (origin/master) some terminal color changes
a7182d3 git colors, ignores, etc.
995fe8c added gitconfig, moved some personal stuff out of the public repo
8a100b7 misc unimportant updates
55d2c08 added a fix to "open with", refactored
7ec7d83 Removed some vim colors; added a couple searching aliases
330c7fc Minor updates
44e80a1 Added vim files
48537c6 Fixed some formatting problems
14933a2 Initial Commit

次にgit reset --hard 330c7fc、ログを次の場所に戻します。

330c7fc (HEAD, master) Minor updates
44e80a1 Added vim files
48537c6 Fixed some formatting problems
14933a2 Initial Commit

これまでのところとても良いですが、(リセットしたので)そうすると次のようgit log --oneline --allになります:

 d3810e4 (origin/master) some terminal color changes
 a7182d3 git colors, ignores, etc.
 995fe8c added gitconfig, moved some personal stuff out of the public repo
 8a100b7 misc unimportant updates
 55d2c08 added a fix to "open with", refactored
 7ec7d83 Removed some vim colors; added a couple searching aliases
 330c7fc (HEAD, master) Minor updates
 44e80a1 Added vim files
 48537c6 Fixed some formatting problems
 14933a2 Initial Commit

最新のエントリ「4df9421 はいくつかのエイリアスを移動しました」がこのリストにないことに注意してください。

私の理解では、--allオプションはすべてのコミットを表示する必要があります。以前のコミットに戻すと、最新のものが見つからないのはなぜですか?

ありがとう。

4

3 に答える 3

6

HEAD またはブランチによって参照されなくなったため、欠落しています。
を使用して、両方 (HEAD とマスター) を別のコミットにリセットしましgit reset --hardた。

最近のコミットのみgit reflogが表示されます。

git log --allで参照されているコミットを一覧表示するためだけですrefs/(タグ、ヘッドなど)。

--all

のすべての参照refs/がコマンド ラインに としてリストされているかのように見せかけます<commit>

于 2013-03-15T06:56:00.873 に答える
2

この--allオプションは、すべてのコミットを表示するようには指示しませすべてのrefs、基本的にはブランチとタグのログを要求します。リセット コマンドは、コミットが含まれていた唯一の参照である からそのコミットを削除したため、コミットに到達できなくなりました。git logmaster

于 2013-03-15T06:56:05.237 に答える
0

VonC の回答を受け入れる必要があります。それを完了するには:

「missing commit」はサーバーにプッシュされていないか、別のブランチに保存されていません。あなたはそれgit reset --hard削除しました。

幸いなことに、git にはある種の魔法の取り消しスタックがありますgit reflog。VonC のリンクをチェックして、元に戻す方法を見つけてください。

を使用するときは注意してくださいgit reset。このコマンドはコミットを破棄する可能性があります。

経験則として、履歴を操作する前に、元の場所に戻る方法がまだあることを確認してください。私のローカル リポジトリはbackuporigおよびwipブランチで機能不全に陥っています。

于 2013-03-15T10:22:19.333 に答える