# Making Git untrack few folders

3 messages from 2010-09-12 to 2010-09-12. Participants: Parag Kalra, Ramkumar Ramachandra.
Thread: https://gitlist.dev/t/25080

## Parag Kalra, 2010-09-12 10:22

Subject: Making Git untrack few folders
Message-ID: <AANLkTiktMe190OVPrTXMtmfaLRLXeJBZ4vSZewJecQWe@mail.gmail.com>
URL: https://gitlist.dev/e/AANLkTiktMe190OVPrTXMtmfaLRLXeJBZ4vSZewJecQWe%40mail.gmail.com
In-Reply-To: <AANLkTi=vjueuP66BAMsRDww=J3Nq3Q4BooKF+85khcBn@mail.gmail.com>

```
Hi All,

I have couple of interconnected questions:

1. Is there a way I can make Git not track a particular folder in my
working code base directory. For example, I have a tmp folder in my
local code base and I don't want Git to track whats going on inside
that directory.

2. Accidently I have added this folder, committed and pushed it to
origin master. Is there a way I can remove this tmp folder from git
revision history and at the same time keeping it intact in my local
code base directory.

Cheers,
Parag

```

## Ramkumar Ramachandra, 2010-09-12 10:37

Subject: Re: Making Git untrack few folders
Message-ID: <20100912103717.GA24576@kytes>
URL: https://gitlist.dev/e/20100912103717.GA24576%40kytes
In-Reply-To: <AANLkTiktMe190OVPrTXMtmfaLRLXeJBZ4vSZewJecQWe@mail.gmail.com>

```
Hi Parag,

Parag Kalra writes:
> 1. Is there a way I can make Git not track a particular folder in my
> working code base directory. For example, I have a tmp folder in my
> local code base and I don't want Git to track whats going on inside
> that directory.

Yes. See gitignore (5).

> 2. Accidently I have added this folder, committed and pushed it to
> origin master. Is there a way I can remove this tmp folder from git
> revision history and at the same time keeping it intact in my local
> code base directory.

Yes. Simply `rm --cached` the folder, and amemd your previous commit
using `commit --amend`, and perform a non-ff push using the `+`
syntax. For example, to perform a non-ff push to remote branch `foo`
whose local name is `foo`, invoke `push +foo:foo`. Note that other
users who have already pulled the bad commit will have to forget about
it explicitly too.

If the folder tracking information is a few revision deep, consider
using `rebase -i` to manually overwrite those commits to exclude that
folder. If the folder was too many revisions earlier, use a
`filter-branch` index filter to make Git completely forget that
folder.

-- Ram

```

## Parag Kalra, 2010-09-12 20:00

Subject: Re: Making Git untrack few folders
Message-ID: <AANLkTi=5_u+Ei-3+9uUYcv5bkrpGCuibMiOW-_N6H8tb@mail.gmail.com>
URL: https://gitlist.dev/e/AANLkTi%3D5_u%2BEi-3%2B9uUYcv5bkrpGCuibMiOW-_N6H8tb%40mail.gmail.com
In-Reply-To: <20100912103717.GA24576@kytes>

```
Thanks Ram.

git rm --cached was precisely what I was looking for.

Also .gitignore file worked without any issues.

Cheers,
Parag




On Sun, Sep 12, 2010 at 3:37 AM, Ramkumar Ramachandra
<artagnon@gmail.com> wrote:
> Hi Parag,
>
> Parag Kalra writes:
>> 1. Is there a way I can make Git not track a particular folder in my
>> working code base directory. For example, I have a tmp folder in my
>> local code base and I don't want Git to track whats going on inside
>> that directory.
>
> Yes. See gitignore (5).
>
>> 2. Accidently I have added this folder, committed and pushed it to
>> origin master. Is there a way I can remove this tmp folder from git
>> revision history and at the same time keeping it intact in my local
>> code base directory.
>
> Yes. Simply `rm --cached` the folder, and amemd your previous commit
> using `commit --amend`, and perform a non-ff push using the `+`
> syntax. For example, to perform a non-ff push to remote branch `foo`
> whose local name is `foo`, invoke `push +foo:foo`. Note that other
> users who have already pulled the bad commit will have to forget about
> it explicitly too.
>
> If the folder tracking information is a few revision deep, consider
> using `rebase -i` to manually overwrite those commits to exclude that
> folder. If the folder was too many revisions earlier, use a
> `filter-branch` index filter to make Git completely forget that
> folder.
>
> -- Ram
>

```
