Ignoring directories in Git repositories on Windows

Viewed 1590594

How can I ignore directories or folders in Git using msysgit on Windows?

20 Answers

Create a file named .gitignore in your project's directory. Ignore directories by entering the directory name into the file (with a slash appended):

dir_to_ignore/

More information is here.

I had some issues creating a file in Windows Explorer with a . at the beginning.

A workaround was to go into the commandshell and create a new file using "edit".

Also in your \.git\info projects directory there is an exclude file that is effectively the same thing as .gitignore (I think). You can add files and directories to ignore in that.

On Unix:

touch .gitignore

On Windows:

echo > .gitignore

These commands executed in a terminal will create a .gitignore file in the current location.

Then just add information to this .gitignore file (using Notepad++ for example) which files or folders should be ignored. Save your changes. That's it :)

More information: .gitignore

On Windows and Mac, if you want to ignore a folder named Flower_Data_Folder in the current directory, you can do:

echo Flower_Data_Folder >> .gitignore

If it's a file named data.txt:

echo data.txt >> .gitignore

If it's a path like "Data/passwords.txt"

echo "Data/passwords.txt" >> .gitignore. 

Just create .gitignore file in your project folder Then add the name of the folder in it for ex:

frontend/node_modules

This might be extremely obvious for some, but I did understand this from the other answers.

Making a .gitignore file in a directory does nothing by itself. You have to open the .gitignore as a text file and write the files/directories you want it to ignore, each on its own line.

so cd to the Git repository directory

touch .gitignore
nano .gitignore

and then write the names of the files and or directories that you want to be ignored and their extensions if relevant.

Also, .gitignore is a hidden file on some OS (Macs for example) so you need ls -a to see it, not just ls.

Temporarily ignore a directory/file that was already in git:

I have a lot of projects in a multi-project gradle project and they can take a long time to delete them, and they're all pretty much the same but different. From time to time I want to remove those from the gradle build by deleting them altogether. git can get them back after all. However I don't want them showing up in git status either. So I use the following simple procedure;

  1. delete files and folders I don't want.
  2. verify build still works
  3. tell git to ignore the deleted files for a bit (we can get them back)


git ls-files --deleted -z | git update-index --assume-unchanged -z --stdin

  1. go about life without the dirs until you want them back. Then run the same command as before but switch out assume-unchanged for no-assume-unchanged


git ls-files --deleted -z | git update-index --no-assume-unchanged -z --stdin

Related