I accidentally committed an unwanted file (filename.orig
while resolving a merge) to my repository several commits ago, without me noticing it until now. I want
If you haven't committed anything since, just git rm
the file and git commit --amend
.
If you have
git filter-branch \
--index-filter 'git rm --cached --ignore-unmatch path/to/file/filename.orig' merge-point..HEAD
will go through each change from merge-point
to HEAD
, delete filename.orig and rewrite the change. Using --ignore-unmatch
means the command won't fail if for some reason filename.orig is missing from a change. That's the recommended way from the Examples section in the git-filter-branch man page.
Note for Windows users: The file path must use forward slashes