[解決済み] Git - 削除されたコミットを復元できますか?重複
2023-01-12 02:16:34
質問
驚きました、SOでは答えが見つからなかったのです。
git で削除されたコミットを回復/復元することはできますか?
例えば、こんな感じです。
# Remove the last commit from my local branch
$ git reset --hard HEAD~1
# Force push the delete
$ git push --force
さて、削除されたコミットを取り戻す方法はあるのでしょうか?gitは内部で削除を記録(ログ)しているのでしょうか?
どのように解決するのですか?
そのコミットに戻るには reflog を使って参照元を調べることができます。
<ブロッククオート参照ログ(reflogs")は、ブランチやその他の参照の先端がローカルリポジトリでいつ更新されたかを記録するものです。 他の参照がローカルリポジトリで更新されたときを記録します。
このコマンドを実行します。
git reflog
最初のいくつかのエントリをスキャンし、失われたコミットを見つけます。そのコミットに対する識別子を記録しておいてください(1列目、2列目のどちらを使ってもかまいません)。その識別子を "ID" と呼ぶことにします。
リセットを行なってから余分な作業を行なっていなければ --hard you can do:
git reset --hard ID
git push -f origin master
もしリセット後に他の作業をしたのであれば、このようにブランチにチェリーピックで戻すことができます。
git cherry-pick ID
git push origin master
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] Git のリモートブランチを作成する方法を教えてください。
-
[解決済み] Git リポジトリで削除されたファイルを検索して復元する方法
-
[解決済み] Gitで落としたスタッシュを復元する方法とは?
-
[解決済み] detached HEADとmaster/originの連携はどうすればいいですか?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
gpg: "xxx" をスキップ: 秘密鍵のための1つの解決策が利用できない
-
hint: 現在のブランチの先端が hint: そのリモートカウントより遅れているため、更新が拒否されました。
-
[解決済み] Git で失われたコミットを復元するにはどうすればよいですか?
-
gitの利用(ssh鍵の作成とgithubの利用)。
-
git push issues
-
[解決済み] 現在のブランチにあるファイルをメインブランチにある同じファイルに上書きしますか?
-
[解決済み] 新サーバーへのGitプッシュ/クローン
-
[解決済み] Git は、省略形のコミット ID が 2 つの異なるコミットを参照する場合に警告を発しますか?
-
[解決済み] GitとSSH、どちらのキーを使うか?
-
[解決済み] git add を実行してもしなくても、ブランチを切り替えたときに自分の変更点(修正、追加、削除されたファイル)が表示され続けるのはなぜですか?