git add only modified changes and ignore untracked files
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")
Ideally your .gitignore
should prevent the untracked ( and ignored )files from being shown in status, added using git 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 use git add -u .
(See "Difference of “ git add -A
” and “ git add .
”").
This worked for me:
#!/bin/bash
git add `git status | grep modified | sed 's/(.*modified:s*)//'`
Or even better:
$ git ls-files --modified | xargs git add
你没有说目前你的.gitignore
是什么,但是在你的根目录中有一个.gitignore
和下面的内容应该有效。
.metadata
build
链接地址: http://www.djcxy.com/p/7900.html
上一篇: Git添加修改,删除和未跟踪的所有文件?
下一篇: git仅添加修改的更改并忽略未跟踪的文件