質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Q&A

解決済

1回答

4517閲覧

git reset --hard HEAD^を実行したら、ローカルリポジリトリの内容が消えた(前回のコミットの内容に書き換わった)最新の情報に戻したい

suomi-libereso

総合スコア7

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

0グッド

0クリップ

投稿2020/01/28 13:30

issueを作成し、トピックブランチを切って、機能が完成したら、トピックブランチをgit pushし、プルリクエストを作ってマスターブランチにマージしています。間違った内容でgit push してしまい、焦ってコマンドの意味を理解せずにgit reset --hard HEAD^を実行し、ローカルリポジトリの内容が消えて(前回のコミットに逆戻り)してしまい焦っています。

#経緯
①ブランチ名とコミットメッセージを誤ってgit push をしてしまった。
②git reset --hard HEAD^を実行した。
③ローカルリポジトリの内容が前回のコミットに戻ってしまった(9日前にコミットした内容)

#やりたいこと
リモートリポジリトリを確認したところ、間違ってgit pushしたトピックブランチの内容は残っているので、これをローカルリポジトリに入れたい。
git fetch → git pull でできるでしょうか?

リモートリポジリトリのアドレス
https://github.com/suomi-libereso/expense_app

実行したコマンド

terminal

1ec2-user:~/environment/expense_app (#13_Modering_Request) $ git add -A 2ec2-user:~/environment/expense_app (#13_Modering_Request) $ git commit -m "#13 Modering Request" 3 4ec2-user:~/environment/expense_app (#13_Modering_Request) $ git push origin "#13_Modering_Request" 5 6ec2-user:~/environment/expense_app (#13_Modering_Request) $ git reset --hard HEAD^ 7

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Takumiboo

2020/01/28 14:22

> git fetch → git pull でできるでしょうか? 試してみれば良いのでは?
guest

回答1

0

自己解決

git reset --hard "HEAD@{1}"を実行してgit reset --hard HEAD^を実行する前の状態に戻しました。

投稿2020/01/29 23:14

suomi-libereso

総合スコア7

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bsdfan

2020/01/29 23:28

git reflog で HEAD@{1} がどこを指しているかちゃんと確認しておかないと、多重災害につながるコマンドなので、後日、ここを見て実行しようとする人は、要注意です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問