如何将所有已跟踪的修改文件进行暂存?

3

好的,这可能是一个愚蠢的问题,但我是git新手,经常感到困惑。

我在IntelliJ上创建了一些文件,现在当我在我的IntelliJ终端中运行git status时,我得到了以下结果:

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)

  new file:  file x
  new file:  file y
  new file:  file z

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)

 Modified: file x
 Modified: file y
 Modified: file z

Untracked files:
  (use "git add <file>..." to include in what will be committed) 

  file a 
  file b

我想暂存并提交文件x、文件y和文件z,但不想暂存文件a和文件b。
我知道git add .会暂存所有已跟踪和未跟踪的文件。是否可以使用git add -u来完成这项工作?
注意:有很多文件,我不想逐个添加它们。

1
git add -u做了你所描述的操作。更多信息请参考这里:https://dev59.com/FXI95IYBdhLWcg3wtwRe#2190431 - Adil B
1
谢谢!我有一个问题: “add -u 也会暂存删除” --> 这是什么意思? - Aditya Verma
1
这意味着运行git add -u命令将会将任何你已经从仓库中删除但Git正在跟踪的文件也添加到暂存区。当你提交时,Git将会从仓库中删除这些文件。 - Adil B
1
关于我的例子,你能告诉我在执行 "git add -u ." 之后的 "git status" 是什么样子吗?假设除了上述文件外,还有一个已删除的被追踪文件 K。 - Aditya Verma
1
它将看起来像这样:修改:文件x 修改:文件y 修改:文件z 删除:文件K - Adil B
显示剩余2条评论
2个回答

4

是的 - 当你想要Git将当前正在跟踪的文件的所有修改都添加到暂存区时,请使用git add -u命令。


1

有很多文件,我不想一个一个地添加它们。

您可以使用git ignore,git将不会添加这些文件。

### .gitignroe
<b full path>

重要提示:不要忘记添加并提交你的.gitignore文件。


如何获取被忽略文件的列表?
git check-ignore -v <path>

1
单行命令:echo '<b文件路径>' >> .gitignore && git add .gitignore && git commit -m"添加了.gitignore" - CodeWizard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接