[解決済み] Git 一連のコミットを対話的にリベースする
2022-02-18 20:15:53
質問
私は、以下のことを試みています。
rebase -i
を、しばらく前に発生したいくつかのコミットを履歴に残します。例えば、こんなログがあるとします。
* 5e32fb0 (HEAD -> master) Add latest feature
* 106c31a Add new feature
* 2bdac33 Add great feature
...100 other commits...
* 64bd9e7 Add test 3
* 3e1066e Add test 2
* 26c612d Add test 1
* 694bdda Initialize repo
で、3つのテストコミットを潰したいと思っています。このような状況で
git rebase -i HEAD~106
はあまり実用的ではありません。代わりに私が求めているのは、次のようなものです。
git rebase -i 64bd9e7:26c612d
.
gitにこのような動作はありますか?あるとすれば、どのように使えばいいのでしょうか?
を拝見させていただきました。 この記事 しかし、私の質問には答えてくれませんでした。
どのように解決するのですか?
この三つのコミットを潰すには、まず最初に 全体 リポジトリです。つまり、これらのテストコミット以降のコミットのハッシュがすべて変更されることになります。私が思うに、これを行う最も素直な方法は、次のとおりです。
-
を指す一時的なブランチとチェックアウトを作成します。
64bd9e7
. - 3つのコミットを一緒につぶす。
-
メインブランチをチェックアウトし、その直後のコミットにリセットします。
64bd9e7
. - 一時的なブランチにリベースする
関連
-
Gitのプッシュでエラーが発生! [リモート拒否] master -> master (pre-receive hook declined) error: failed to push some refs to .......
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Gitを使って最後のXコミットをまとめる
-
[解決済み] git rebase の取り消し
-
[解決済み】"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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 現在のブランチのトラッキング情報がありません。
-
[解決済み】ローカルにない作業がリモートに含まれているため、アップデートが拒否された
-
[解決済み】Githubの認証に失敗した - ... GitHubはシェルアクセスを提供しない
-
[解決済み] このリポジトリで別の git プロセスが実行されているようです。
-
[解決済み] 複数のコミットをチェリーピックする方法
-
[解決済み] あなたのブランチは 'origin/master' より 3 コミット進んでいます。
-
[解決済み] VSTS Git Fetch Failed with exit code: 128
-
[解決済み] ブラウンアウトの一環として、パスワード認証が一時的に無効になっています。代わりに個人用アクセストークンを使用してください[重複]。
-
[解決済み] Gitのフォルダ構造で変更・追加されたファイルのみをエクスポートする機能
-
[解決済み] Git作者不明