Is there a handy way to ignore all untracked files and folders in a git repository?
(I know about the .gitignore.)
So git status would provide a clean result again.
Is there a handy way to ignore all untracked files and folders in a git repository?
(I know about the .gitignore.)
So git status would provide a clean result again.
IMHO better than the accepted answer is to use the following:
git config --local status.showUntrackedFiles no
The accepted answer does not work for when new files are added that are not in .gitignore
In case you are not on Unix like OS, this would work on Windows using PowerShell
git status --porcelain | ?{ $_ -match "^\?\? " }| %{$_ -replace "^\?\? ",""} | Add-Content .\.gitignore
However, .gitignore file has to have a new empty line, otherwise it will append text to the last line no matter if it has content.
This might be a better alternative:
$gi=gc .\.gitignore;$res=git status --porcelain|?{ $_ -match "^\?\? " }|%{ $_ -replace "^\?\? ", "" }; $res=$gi+$res; $res | Out-File .\.gitignore
I came here trying to solve a slightly different problem. Maybe this will be useful to someone else:
I create a new branch feature-a. as part of this branch I create new directories and need to modify .gitignore to suppress some of them. This happens a lot when adding new tools to a project that create various cache folders. .serverless, .terraform, etc.
Before I'm ready to merge that back to master I have something else come up, so I checkout master again, but now git status picks up those suppressed folders again, since the .gitignore hasn't been merged yet.
The answer here is actually simple, though I had to find this blog to figure it out:
Just checkout the .gitignore file from feature-a branch
git checkout feature-a -- feature-a/.gitignore
git add .
git commit -m "update .gitignore from feature-a branch"
None of the above answers worked for me.
In my case, I want a personal config file to be ignored permanently (git status -uno only works for one use).
I'm part of a team so can't add it to .gitignore as that's checked in.
Mu solution was to add it to:
.git/info/exclude
which is like your own personal .gitignore file.