I ran "git status" and listed below are some files that were modified/or under the heading "changes not staged for commit". It also listed some untracked files that I want to ignore (I have a ".gitignore" file in these directories).
I want to put the modified files in staging so I can commit them. When I ran "git add .", it added the modified files AND the files I want to ignore to staging.
How do I add only the modified files and ignore the untracked files if presented with the git status below.
Also, are my ".gitignore" files working properly?
$ git status
# On branch addLocation
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: someProject/path/domain/viewer/LocationDO.java
# modified: someProject/path/service/ld/LdService.java
# modified: someProject/path/service/ld/LdServiceImpl.java
# modified: someProject/path/web/jsf/viewer/LocationFormAction.java
# modified: someProject/war/WEB-INF/classes/message/viewer/viewer.properties
# modified: someProject/war/page/viewer/searchForm.xhtml
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .metadata/
# someProject/build/
no changes added to commit (use "git add" and/or "git commit -a")
This worked for me:
Or even better:
Ideally your
.gitignore
should prevent the untracked ( and ignored )files from being shown in status, added usinggit add
etc. So I would ask you to correct your.gitignore
You can do
git add -u
so that it will stage the modified and deleted files.You can also do
git commit -a
to commit only the modified and deleted files.Note that if you have Git of version before 2.0 and used
git add .
, then you would need to usegit add -u .
(See "Difference of “git add -A
” and “git add .
”").I happened to try this so I could see the list of files first:
execute:
Edit: (see comments) This could be achieved in one step:
Not sure if this is a feature or a bug but this worked for us:
git commit '' -m "Message"
Note the empty file list ''. Git interprets this to commit all modified tracked files, even if they are not staged, and ignore untracked files.
You didn't say what's currently your
.gitignore
, but a.gitignore
with the following contents in your root directory should do the trick.