[解決済み】Git リポジトリから選択したコミットログエントリを、その変更を維持したまま削除する方法とは?
2022-04-02 11:01:45
質問
線形コミットツリーから選択したコミットログエントリーを削除して、そのエントリーがコミットログに表示されないようにしたいのですが、どうすればいいですか?
私のコミットツリーは次のようなものです。
R--A--B--C--D--E--HEAD
BとCのエントリを削除してコミットログに表示しないようにしたいのですが、AからDまでの変更は保存されるはずです。おそらく、単一のコミットを導入することで、BとCはBCになり、ツリーは次のようになります。
R--A--BC--D--E--HEAD
あるいは、Aの後に直接Dが来るのが理想的です。D」は、AからB、BからC、CからDへの変化を表します。
R--A--D'--E--HEAD
可能ですか?可能な場合、どのように?
これはかなり新しいプロジェクトなので、今のところブランチがなく、したがって、マージもありません。
解決方法は?
git-rebase(1) はまさにその通りです。
$ git rebase -i HEAD~5
git awsome-ness [git rebase --interactive](ギット・リベース・インタラクティブ)。 は例を含んでいます。
-
を使用しないでください。
git-rebase
を公開 (リモート) コミットで使用します。 -
作業ディレクトリがクリーンであることを確認する (
commit
またはstash
現在の変更点)。 -
上記のコマンドを実行します。このコマンドは、あなたの
$EDITOR
. -
交換
pick
以前C
とD
によってsquash
. CとDをBにマージします。もしコミットを削除したい場合は、その行を削除するだけです。
迷ったら、タイプしてください。
$ git rebase --abort
関連
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git で、ステージされていない変更を破棄するにはどうしたらいいですか?
-
[解決済み] Git リポジトリでのマージの衝突を解決するには?
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み] Git のコミットで変更点を確認するには?
-
[解決済み] 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 stash pop の取り消し
-
[解決済み】ローカルに変更があるにもかかわらず、git pushが「すべて最新」と言う
-
[解決済み】gpgがデータの署名に失敗した fatal: failed to write commit object [Git 2.10.0].
-
[解決済み] LFはgitでCRLFに置き換えられます - それは何ですか、そしてそれは重要ですか?[重複]。
-
[解決済み] 無効なVCSルートマッピング - 私のプロジェクトで3つのエラーが発生しました。
-
[解決済み] リモートブランチにプッシュできない、ブランチに解決できない
-
[解決済み] エラーです。リベースを使用してプルできません。あなたはステージングされていない変更を持っています
-
[解決済み] `git push`の後に、ローカルとリモートで`git commit`を取り消すにはどうすればよいですか?
-
[解決済み】gitの履歴から特定のリビジョンを削除する方法とは?
-
[解決済み] Git リモート Git リポジトリをリセットして、すべてのコミットを削除するには?