git add all except ignoring files in .gitignore file

GitInitGitignore

Git Problem Overview


I am adding source control to a project that had none. The problem is that there are a lot of files to initially add to git with a .gitignore file, but I can't figure out how to add all files without including the files matching something in the .gitignore file.

git add *

The above command will not add any files because it detects files which are ignored by the .gitignore.

git add -f *

The above command will add all files including the files I wish to ignore.

So, how do I add all files while still adhering to the .gitignore file?

Git Solutions


Solution 1 - Git

I think you mean git add . which will add all of the files to the repo that AREN'T specified in the .gitignore - you can see these changes by typing git status

The . in bash usually means this directory and all other directories recursively, so if you do this from the bottom level of your repo, you should add all of the files.

My usual git flow is to create the .gitignore file and add the project files to the repo. I'll test the .gitignore file by typing git status after importing the files - if I see the files that I've added (for example only .php or .html, NOT .mp3 or .mov), then you can git add . to add all, and git commit -m "initial commit" to commit them and you should be set.

Solution 2 - Git

git add .

This will add all paths and ignore matches from .gitignore

Solution 3 - Git

Try git add . (which means "add all files in the current directory and below")

Solution 4 - Git

Another option is to use the Git repo's exclude file. This file works similar to a .gitignore file but isn't committed to the repo.

From the Github docs:

You can use this technique for locally-generated files that you don't expect other users to generate, such as files created by your editor.

Use your favorite text editor to open the file called .git/info/exclude within the root of your Git repository. Any rule you add here will not be checked in, and will only ignore files for your local repository.

  1. In Terminal, navigate to the location of your Git repository
  2. Using your favorite text editor, open the file .git/info/exclude
  3. Add rules to the exclude file as you would the .gitignore file

Solution 5 - Git

Mine still include files i told it to ignore, so i did this... i added to gitignore -> " .gitignore " then i tried " git status ", and the file i wanted ignored were ignored.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionE-richView Question on Stackoverflow
Solution 1 - GitNicView Answer on Stackoverflow
Solution 2 - GitLeom BurkeView Answer on Stackoverflow
Solution 3 - GitwadesworldView Answer on Stackoverflow
Solution 4 - GitBrett DeWoodyView Answer on Stackoverflow
Solution 5 - Gitakande olayinkaView Answer on Stackoverflow