Git チェックアウト - HEAD に戻す
2023-07-28 10:38:47
質問
私は自分のプロジェクトを行ってきましたが、ある時点で1つのものが動作しなくなったことを発見しました。私はそれが正しく動作していたときに私のコードの状態を調べる必要があったので、私はgit checkoutを使用することに決めました(私は何かをチェックアウトしたかったので)。そして、私は
git checkout SHA
を数回実行すると、HEADに移動できないポイントに戻り、以下のような出力が得られます。
git checkout SHA-HEAD
error: Your local changes to the following files would be overwritten by checkout:
[list of files]
Please, commit your changes or stash them before you can switch branches.
Aborting
私は何も変更していないことを確信しています。コマンドは
git checkout master
は同じ出力をします。
HEADに戻る方法はありますか?
履歴のコミットを飛び越える安全な方法は何ですか?
どのように解決するのですか?
以下の方法があります。
stash
(一時的なボックスに変更を保存します) その後、再び
master
ブランチHEADになります。
$ git add .
$ git stash
$ git checkout master
コミットを前後に飛び越える。
-
特定の
commit-sha
.$ git checkout <commit-sha>
-
もしここで未コミットの変更があれば、新しいブランチにチェックアウトする|追加する|コミットする|現在のブランチをリモートにプッシュする、ができます。
# checkout a new branch, add, commit, push $ git checkout -b <branch-name> $ git add . $ git commit -m 'Commit message' $ git push origin HEAD # push the current branch to remote $ git checkout master # back to master branch now
-
特定のコミットで変更があり、その変更を保持したくない場合、次のようにします。
stash
またはreset
にチェックアウトしてmaster
(あるいは他のブランチ) にチェックアウトします。# stash $ git add -A $ git stash $ git checkout master # reset $ git reset --hard HEAD $ git checkout master
-
特定のコミットをチェックアウトした後、コミットされていない変更がなければ
master
あるいはother
という分岐があります。$ git status # see the changes $ git checkout master # or, shortcut $ git checkout - # back to the previous state
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] Git リポジトリで削除されたファイルを検索して復元する方法
-
[解決済み] Gitで落としたスタッシュを復元する方法とは?
-
[解決済み】"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 実装 サイバーパンク風ボタン
おすすめ
-
gitlab をアップロード ! [リモート拒否] dev -> dev (受信前のフックが拒否されました)
-
Git はファイル名の大文字と小文字を無視し、修正する
-
gitlabの紹介と使い方
-
ファイル名が長すぎるため、作業ツリーをチェックアウトできない警告が表示されました。クローンには成功しましたが、チェックアウトに失敗しました。
-
gitの利用(ssh鍵の作成とgithubの利用)。
-
git-fatal: 設定されたプッシュターゲットがありません / 警告: store/README.md の LF は CRLF に置き換えられています。
-
Gitのコミットでfatal: unable to auto-detect email addressのエラーが報告される。
-
[解決済み] stash@{1}は曖昧?
-
[解決済み] 新サーバーへのGitプッシュ/クローン
-
[解決済み] ローカルのGitブランチをリモートレポにコピーする方法