[解決済み] Git で、変更したファイルを古い(最終ではない)コミットに追加する方法
2022-03-16 04:01:20
質問
この1時間の間にいくつかのことを変更し、順次コミットしてきましたが、いくつかのコミット前に変更したファイルを追加するのを忘れていたことに今気づきました。
ログはこんな感じです。
GIT TidyUpRequests u:1 d:0> git log
commit fc6734b6351f6c36a587dba6dbd9d5efa30c09ce
Author: David Klein <>
Date: Tue Apr 27 09:43:55 2010 +0200
The Main program now tests both Webservices at once
commit 8a2c6014c2b035e37aebd310a6393a1ecb39f463
Author: David Klein <>
Date: Tue Apr 27 09:43:27 2010 +0200
ISBNDBQueryHandler now uses the XPath functions from XPath.fs too
commit 06a504e277fd98d97eed4dad22dfa5933d81451f
Author: David Klein <>
Date: Tue Apr 27 09:30:34 2010 +0200
AmazonQueryHandler now uses the XPath Helper functions defined in XPath.fs
commit a0865e28be35a3011d0b6091819ec32922dd2dd8 <--- changed file should go here
Author: David Klein <>
Date: Tue Apr 27 09:29:53 2010 +0200
Factored out some common XPath Operations
何かアイデアはありますか?
解決方法は?
使用方法
git rebase
. 具体的には
-
使用する
git stash
を使用して、追加したい変更点を保存します。 -
使用方法
git rebase -i HEAD~10
(または見たいコミット数)。 -
問題のコミットをマークする (
a0865...
という単語を編集用に変更します。pick
に変更します。edit
. 他の行を削除するとコミットが削除されてしまうので、削除しないようにしましょう[^vimnote]。 - リベースファイルを保存すると、git はシェルに戻り、あなたがそのコミットを修正するのを待ちます。
-
を使用して、stashをポップします。
git stash pop
-
でファイルを追加します。
git add <file>
. -
でコミットを修正します。
git commit --amend --no-edit
. -
を行う。
git rebase --continue
これは、あなたの残りのコミットを新しいものに書き換えるものです。 - 複数のコミットを編集するようマークしている場合は、手順2以降を繰り返してください。
[^vimnote] を参照してください。もしあなたが
vim
を打つ必要があります。
挿入
キーで編集し、次に
エスケープ
と入力します。
:wq
をクリックしてファイルを保存し、エディタを終了し、変更を適用してください。また、以下の方法もあります。
使いやすい git commit エディタを設定する
で
git config --global core.editor "nano"
.
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 既存の、プッシュされていないコミットメッセージを修正するには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み】"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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ERROR: Error cloning remote repo 'origin'.
-
[解決済み] git rebase fatal: 必要なリビジョンは1つです。
-
git push reports an error ! [リモート拒否] master -> master (受信前のフックが拒否されました)
-
[解決済み] 複数のgitコミットを元に戻すには?
-
[解決済み] 短いGitバージョンのハッシュを取得する
-
[解決済み] git update-index --assume-unchanged <file> を元に戻す。
-
[解決済み] Vimエディタを終了するにはどうすればよいですか?
-
[解決済み] git に自分の好きなエディタを使わせてコミットするにはどうしたらいいですか?
-
[解決済み】指定したコミットを変更するには?
-
[解決済み】Featureブランチのリベースの後、Gitプッシュが拒否される。