git で master が指すコミットを変更するにはどうすればよいですか?
2023-10-22 12:25:37
質問
git では、本当は機能ブランチで作業すべきなのに、master ブランチにコミットしてしまっています。これを変更して、master が元の場所に戻り、master にあったものが新しいブランチにあるようにしたいのです。基本的に、私のコミット履歴は次のようなものです。
A -- B -- C -- D -- E
| |
| master
origin/master
で、こんな感じにしたいんです。
master
|
A -- B -- C -- D -- E
| |
| new_branch
origin/master
マスターポイントの位置を変更するにはどうすればよいですか?
どのように解決するのですか?
-
未コミットをためる。
git stash
-
新しいブランチを作成します。
git branch new_branch
-
master を origin/master にリセットします。
git reset --hard origin/master
-
新しいブランチを再度チェックアウトします。
git checkout new_branch
-
変更を破棄します。
git stash pop
作業ツリーがクリーンであれば、stash/unstash は必要ありません。作業ツリーに変更がないことを確認するだけで、--hard をリセットしたときに削除されるからです。
別の可能性 (より高速で、スタッシュとリセットを必要としない)。
-
新しいブランチをチェックアウトします。
git checkout -b new_branch master
-
新しい」master ブランチを作成し、それを origin/master のコミットに指定します。
git branch -f master origin/master
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] まだプッシュされていない Git マージを元に戻す
-
[解決済み] ある特定のコミットのコミット作者を変更する方法は?
-
[解決済み] 現在のGitブランチをmasterブランチにする
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】ローカルの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 実装 サイバーパンク風ボタン
おすすめ
-
解決策 このリポジトリでは、別の git プロセスが実行されているようです。たとえば、「git commit」によって開かれたエディタなどです。
-
undefinedGit Git がファイルをコードクラウドにプッシュする際に報告されるエラーを解決します: ! [拒否] master -> master (最初にフェッチ)
-
Git がエラーを報告しました。現在のブランチの先端が遅れているため、更新が拒否されました。
-
git を使用してリモートリポジトリを更新する場合、現在のブランチの先端がエラーの背後にあるため、更新が拒否されました。
-
git reset --hardとgit reset --softの違いについて
-
[解決済み] 単一のgitコミットに対して設定されたユーザーを上書きする
-
[解決済み] なぜGitでコミットする前にステージが必要なのですか?
-
[解決済み] CVS から Git への移行: $Id$ 相当?
-
[解決済み] プル前にローカルとGitHubのリポジトリの差分を確認する方法 [重複]について
-
[解決済み] 非標準のポートでリモートリポジトリを使用する