我运行了“gitstatus”,下面列出了一些修改/或标题为“未提交的更改”的文件。它还列出了一些我想忽略的未跟踪文件(我在这些目录中有一个“.gitignore”文件)。
我想将修改后的文件放到暂存中,以便提交它们。当我运行“gitadd.”时,它将修改后的文件和我想忽略的文件添加到暂存中。
如果出现下面的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")
我想将修改后的文件放到暂存中,以便提交它们
TL;DR:启动
使用交互式模式(git add-i),选择update(在What now>提示符中键入2或u),选择all(在update>>提示符中键入*),退出交互式模式(在Whatnow>提示中键入7或q)。
TL;DR:结束
对于更多患者:---
步骤1
您可以使用交互模式。
git add --interactive
或短手形式,
git add -i
这将提供所有已修改文件的列表及其状态,以及一系列可以使用的命令选项,例如:
staged unstaged path
1: unchanged +17/-0 package-lock.json
2: unchanged +2/-0 package.json
3: unchanged +2/-28 src/App.js
4: unchanged +7/-6 src/App.test.js
*** Commands ***
1: status 2: update 3: revert 4: add untracked
5: patch 6: diff 7: quit 8: help
What now>
步骤2
对于您的情况,在What now>中键入u或2,
What now>u
你到下面,
staged unstaged path
1: unchanged +17/-0 package-lock.json
2: unchanged +2/-0 package.json
3: unchanged +2/-28 src/App.js
4: unchanged +7/-6 src/App.test.js
Update>> *
步骤3
在Update>>提示符中,键入*将上述列表中的所有文件添加到临时区域(您也可以通过提供逗号分隔的数字来添加单个文件),
Update>> *
此时,所有修改过的文件都已添加到暂存区,您可以在What now>提示符中键入1或s来验证状态(或者只需键入q或7退出交互模式并运行通常的git status命令),
What now> 1
它将显示状态,
staged unstaged path
1: +17/-0 nothing package-lock.json
2: +2/-0 nothing package.json
3: +2/-28 nothing src/App.js
4: +7/-6 nothing src/App.test.js
我们可以在这里看到,未分页的列显示列表中所有文件的文本“nothing”。
对于问题的第二部分,关于忽略未跟踪的文件,我相信这个SO答案会有很大帮助。