[解決済み] GITリストア 直前のデタッチされたHEAD
質問
私のプロジェクトで大きな問題があります。 私はGITの下でxcodeプロジェクトを持っています。今日、私は最後のコミットがいくつかのテストを壊したことに気づいたので、私は前のコミットをチェックアウトしました。 私はSourceTreeを使用し、これは警告です。
この操作を行うと、作業コピーが 'detached HEAD' になり、ブランチから外れることになります。この後にコミットしたい場合は、おそらくもう一度ブランチをチェックアウトするか、新しいブランチを作成することになるでしょう。これでよいのでしょうか?
私は丸一日働き、最後にすべてをコミットしました。 そこで、開発ブランチに自分の仕事をマージする必要があったので、開発ブランチをチェックアウトしたら、...私の仕事は即座に消えてしまいました :(
HEADを切り離したのは間違っていたし、Sourcetreeは私に警告しました...しかし、私の仕事を復元する方法があるのでしょうか?
どのように解決するのですか?
もし、あなたが
git reflog
と入力すると、どのようなリビジョンがあったかの履歴が表示されます。
HEAD
が指したリビジョンの履歴が表示されます。あなたの切り離された頭はその中にあるはずです。それを見つけたら、次のようにしてください。
git checkout -b my-new-branch abc123
または
git branch my-new-branch abc123
(ここで
abc123
は切り離した HEAD の SHA-1 です) を使って、切り離した HEAD を指す新しいブランチを作成します。これで、そのブランチを自由にマージすることができます。
一般的に、切り離されたヘッドで作業した後にブランチをチェックアウトすると、Git は切り離されたヘッドにいたコミットを教えてくれるので、必要であればそれを復元することができます。私はSourceTreeを使ったことがないので、そのようなメッセージを中継しているかどうかはわかりません。しかし、もしそのメッセージが表示されるのなら、それを使ってコミットを見つけることができるはずです。そして再び
git checkout -b
または
git branch
でそのコミットからのブランチを作成します。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git の detached head を修正するにはどうすればよいですか?
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
undefinedmaster -> master (non-fast-forward) と git ! [拒否] master -> master (フェッチファースト)
-
undefinedGitのプッシュコードには、! [rejected] master -> master (fetch first) 問題があります。
-
Git がエラーを報告しました。現在のブランチの先端が遅れているため、更新が拒否されました。
-
Git はファイル名の大文字と小文字を無視し、修正する
-
[解決済み] Git の detached head を修正するにはどうすればよいですか?
-
[解決済み] Git リポジトリがデタッチド HEAD 状態になったのはなぜですか?
-
[解決済み] チェリーピックのコンフリクトを解決するにはどうしたらいいですか?
-
[解決済み] git diff を stdout に書き出すには?
-
[解決済み] stash@{1}は曖昧?
-
[解決済み] git add --patch' で新しいファイルをインクルードする?