Making Git untrack few folders

3 messages, 2 authors, 2016-06-15 · open the first message on its own page

Making Git untrack few folders

From: Parag Kalra <hidden>
Date: 2016-06-15 22:49:32

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

Re: Making Git untrack few folders

From: Ramkumar Ramachandra <hidden>
Date: 2016-06-15 22:49:32

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

Re: Making Git untrack few folders

From: Parag Kalra <hidden>
Date: 2016-06-15 22:49:32

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
[off-list ref] wrote:
Hi Parag,

Parag Kalra writes:
quoted
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).
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help