git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: removing files from history but not filesystem

From
CKChristof Krüger <git@christof-krueger.de>
Date
Jun 28, 2011, 07:04 UTC
Message-ID
<218bf1d3b2bf197a5f56d542c6a91960.squirrel@mail.localhost.li>
In-Reply-To
<CFCCFA00-B4BF-4A88-88A5-2F588630F7BB@uab.edu>
Hi,
> $ git filter-branch --index-filter 'git rm --cached --ignore-unmatch
> */one.txt' HEAD
The following should work:

git branch temp git filter-branch --index-filter 'git rm --cached --ignore-unmatch foo' temp git reset temp

This creates branch "temp" pointing to the same commit as "master". Then you filter-branch the "temp" branch. This leaves file "foo" in your working directory intact, as your current branch is actually "master". The third step resets your current "branch" to the commit pointed by the rewritten branch "temp". The default for git reset is --mixed which according to the man page leaves the working tree alone.

Regards,
  Chris
Previous: Shantanu PavgiNext: Shantanu Pavgi
Message 2 of 6 in “removing files from history but not filesystem”
  1. Shantanu PavgiJun 28, 2011
  2. Christof KrügerJun 28, 2011
  3. Shantanu PavgiJun 29, 2011
  4. Christof KrügerJun 29, 2011
  5. Christof KrügerJun 29, 2011
  6. Shantanu PavgiJun 29, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.