10

私は最近 を台無しにしたgit rebase -iので、 をやりたかったのですgit reset --hard HEAD@{5}

ただし、git reset --hard HEAD@{5}またはを実行するgit log HEAD@{5}と、次のエラー メッセージが表示されます。

fatal: ambiguous argument 'HEAD@{5}': unknown revision or path not in the working tree.

そこで、代わりに に対応するハッシュキーを指定することにHEAD@{5}しましgit reflogた。例えば:

git reset --hard e8be841

そうすることで、git リポジトリを台無しにしたり、予期しないことをしたりするリスクはありましたか?

4

3 に答える 3

13

私にとっての問題は、Windows コマンドプロンプトに二重引用符を付ける必要があったことです。

それ以外の:

git reset --soft 'HEAD^' 

私は書かなければなりませんでした:

git reset --soft "HEAD^"
于 2014-04-23T09:13:02.280 に答える
1

Gitは、マージとリベースの方法に非常に寛容です。これらの操作の1つでgitリポジトリのファイル構造を見ると、これらの操作を支援するように指定されたファイルが変更され、コアオブジェクトが安全に変更されていないことがわかります。もしそうなら、それは相加的な方法です。

したがって、リポジトリに損傷を与える可能性はほとんどありません。例として、別のリポジトリを取得し、コピーを作成し、リベースを開始してから、両方の.gitフォルダーを比較します。

PSあなたの質問へのコメントによると、はい、使用してくださいgit rebase --abort

于 2012-10-15T17:15:05.897 に答える
0

Git には、シェル引数の引用に関する問題がいくつかあります。

git log 'HEAD@{5}'代わりに試してください。

私の場合、エラーが発生しますfatal: Log .git/logs/HEAD is empty.

これに対する次の回避策は次のとおりです。

git log HEAD^^^^^ .

于 2013-10-26T09:48:35.240 に答える