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

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

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

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

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Q&A

解決済

1回答

482閲覧

rebase -i headを2度行った状態をもとに戻す方法

splict

総合スコア8

Git

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

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

0グッド

0クリップ

投稿2018/01/06 08:33

###前提・実現したいこと
過去のコメントを修正しようとして間違った操作をしてしまったのをもとに戻したいです

状況としては

  • リモートブランチ
  • ローカルマスタ
  • 作業ブランチ1
  • 作業ブランチ2
  • 謎のブランチ

が絡んでいます

ブランチ1で作業を終え、リモートにpushしました。
次の作業を行いたかったのでローカルマスターにチェックアウトしブランチ2を作成。作業を始めようと思ったのですが、ブランチ1で実装したものが必要だと気づき、ブランチ1をマージしました。

それから普通に作業をしていき(pushはしていない)、git logを見てみると、マージしたときのコメントが文字化けしていました。

ここらが問題です
5つ前のコメントを修正するべきだったのですが、4つ前と勘違いしていまして、git rebase -i HEAD~4と打ち込みました。
しかし、違うと気づき戻ろうと思ったのですが、ZZで終了しました。(入力はなにもしていませんが、なにか保存されてしまうのでしょうか)

そして、キャンセルしたからさっき4と打ったところを5にすればいいだろうと思いgit rebase -i HEAD~5を入力。
表示されていたのは求めていたコミットではなかったので:q!で終了

すると謎のブランチが出来上がっていて、そのブランチにチェックアウトしていました。
謎のブランチ名はとあるコミット番号が割り振られています。
そのコミットは私が行ったものではありません。

git logを見るとそのコミットが先頭にきています
git brでは* (no branch, rebasing ブランチ2)とあります。

statusは以下のとおりです
イメージ説明

チェックアウトしようとすると

app/controllers/xxxxxx_controller.rb: needs merge error: you need to resolve your current index first

となります。

git resetで戻せますか?

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

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

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

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

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

guest

回答1

0

ベストアンサー

こんにちは。

ややこしい操作されているようで、ちょっと追いかけられなかったのですが、reflogを使って戻せる筈です。
gitは1ヶ月程度の過去の履歴が全て残っているようです。(ちょっと自信なし)
それを表示するのがreflogです。そこに目的の状態が残っていれば戻せる筈です。
私もreflogはあまり使ったことはないので詳しくは検索してみて下さい。多数の解説サイトがあります。

投稿2018/01/06 12:42

Chironian

総合スコア23272

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

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

splict

2018/01/07 15:57

お返事が大変遅くなりました。 reflogというワードをいただけたおかげで無事に戻すことが出来ました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問