我运行了“git status”,下面列出了一些被修改的文件/或标题为“未提交更改的更改”标题。 它还列出了一些我想忽略的未跟踪文件(我在这些目录中有一个“.gitignore”文件)。 html
我想将修改后的文件放在暂存中,以便我能够提交它们。 当我运行“git add。”时,它将修改后的文件和我想忽略的文件添加到登台。 java
若是使用下面的git状态显示,如何仅添加已修改的文件并忽略未跟踪的文件。 git
另外,个人“.gitignore”文件是否正常工做? web
$ 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")
这对我有用: bash
#!/bin/bash git add `git status | grep modified | sed 's/\(.*modified:\s*\)//'`
甚至更好: dom
$ git ls-files --modified | xargs git add
我碰巧尝试了这个,因此我能够先看到文件列表: ui
git status | grep "modified:" | awk '{print "git add " $2}' > file.sh cat ./file.sh
执行: spa
chmod a+x file.sh ./file.sh
编辑:(见评论)这能够一步完成: code
git status | grep modified | awk '{print $2}' | xargs git add && git status
不肯定这是一个功能仍是一个bug,但这对咱们有用: orm
git commit '' -m "Message"
请注意空文件列表''。 Git将此解释为提交全部已修改的跟踪文件,即便它们未被暂存,也会忽略未跟踪的文件。
git commit -a -m "message"
-a:包括此提交中全部当前更改/删除的文件。 但请记住,未包含未跟踪(新)文件。
-m:设置提交的消息
理想状况下,你的.gitignore
应该防止未跟踪(和忽略)的文件显示在状态,使用git add
等git add
。因此我会要求你纠正你的.gitignore
您能够执行git add -u
以便它能够git add -u
已修改和已删除的文件。
您还能够执行git commit -a
以仅提交已修改和已删除的文件。
请注意,若是您在2.0以前使用Git版本并使用git add .
,那么你须要使用git add -u .
(参见“ git add -A
”和“ git add .
”的区别“ ”)。