Raza Ali <r...@ebi.ac.uk> writes:

> I have force added a file we usually like to ignore (but keep in the
> repository). That was a change a while ago, and cannot be undone
> without serious pain. I would like to re-ignore the file though, as we
> dont want to track changes to it. Some of the options I came across
> are not useful for me. For example
> git rm --cached FILE // removes the file from the remote repository if
> I push, not desirable
> git update-index --assume-unchanged //Will ignore changes to the file
> locally, but someone else clones and the file is tracked for them.
> What we would like is to go back to the old state of affairs: the file
> was in the working directory when someone cloned from the remote
> repository, but changes to the file werent tracked or committed.

I highly doubt that this description is accurate:

Either the file was actually in the repository (more specifically, in
the commit that git-clone chose to be checked out).  In this case, it
appears in the worktree after cloning.  But its presence in the HEAD
commit of the resulting repo also means that it is tracked.

Or it was not in the repository.  In which case it will not appear in a
new clone.  And there is no third option here.

So your "old state" in fact did not exist.  And it unfortunately is also
not attainable in more roundabout ways: any given file can only be
either tracked or ignored (or untracked-but-not-ignored, but that's
beside the point).  You cannot use ignore rules to ignore files that are

Please check https://gist.github.com/canton7/1423106 for a list of other
ways to achieve what you are trying to do (link from the corresponding
bot quote on #git).  But do note that --assume-unchanged is a rather
more dangerous beast than you may think, and I cannot recommend actually
using it.

Thomas Rast
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to