あなたの状況
プッシュされていない3つのコミットであなたが説明した状況を作成しています:
$ git clone <url>
$ touch file1
$ git add file1
$ git commit -m "Correct 1st commit"
$ touch file2
$ touch webstormfile
$ git add .
$ git commit -m "Wrong 2nd commit with by mistake included WebStorm file"
$ touch file3
$ git add file3
$ git commit -m "Correct 3rd commit"
$ git log --oneline
$
$ ad73bfa Correct 3rd commit
$ eddae38 Wrong 2nd commit with by mistake included WebStorm file
$ ad219bf Correct 1st commit
コミットされた WebStorm ファイルの削除
注意: 次の手順では履歴が変更されます。つまり、コミットが既にプッシュされている場合、履歴を変更するとすべてのチーム メンバーのリポジトリが破損します。まだプッシュしていない場合は、チーム メンバーに迷惑をかけずに手順に従うことができます。
eddae38
間違ったコミットのハッシュを含むインタラクティブなリベースを開始します。
$ git rebase -i eddae38^
テキスト エディタがポップアップし、次の内容が表示されます。
pick eddae38 Wrong 2nd commit with by mistake included WebStorm file
pick ad73bfa Correct 3rd commit
# Rebase ad219bf..ad73bfa onto ad219bf
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out
最初の行で、pickをeditに変更し、ファイルを保存してテキスト エディターを閉じます。
注意!保持したい場合は、WebStorm ファイルのコピーを作成します。次に、コミットから WebStorm ファイルを削除します。
$ git rm .\webstormfile
クリーンアップされたインデックスをコミットします。
$ git commit --amend --no-edit
リベースを終了します。
$ git rebase --continue