git仅添加修改的更改并忽略未跟踪的文件

我运行了“git status”,下面列出了一些修改过的文件,或者在标题“未更改未提交的文件”下的文件。 它还列出了一些我想忽略的未跟踪文件(我在这些目录中有一个“.gitignore”文件)。

我想把修改后的文件放入分段中,以便我可以提交它们。 当我运行“git add”时,它添加了修改后的文件以及我想要忽略的文件。

如果仅添加修改后的文件,并且在下面显示git状态时忽略未跟踪的文件。

另外,我的“.gitignore”文件是否正常工作?

$ 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")

理想情况下,你的.gitignore应该防止未跟踪的(和被忽略的)文件显示为状态,使用git addgit add 。所以我会要求你纠正你的.gitignore

你可以做git add -u这样它就可以播放修改和删除的文件。

你也可以做git commit -a只提交修改和删除的文件。

请注意,如果您有2.0版之前的Git版本并且使用了git add . ,那么你需要使用git add -u . (请参阅“ git add -A ”和“ git add . ”的区别)。


这对我有效:

#!/bin/bash

git add `git status | grep modified | sed 's/(.*modified:s*)//'`

甚至更好:

$ git ls-files --modified | xargs git add

你没有说目前你的.gitignore是什么,但是在你的根目录中有一个.gitignore和下面的内容应该有效。

.metadata
build
链接地址: http://www.djcxy.com/p/7899.html

上一篇: git add only modified changes and ignore untracked files

下一篇: Push origin master error on new repository