Git 跟踪未跟踪的文件而不添加到提交

Git track untracked files without adding to commit

我 运行 命令 "git reset",但我未暂存的更改被放入了文件夹。在 运行 git status:

之后,我得到类似以下内容
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:   file1
    modified:   file2
    modified:   file3
    modified:   file4
    modified:   file5

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

    folder1
    folder2
    folder3
    folder4

每个文件夹都包含多个我修改过的文件,但由于某种原因被分组到这些文件夹中。

我需要将这些更改分成多个拉取请求,所以 "git commit -a" 不行。

我看到的最佳解决方案是 "git add -all",复制 "git status",然后再次 "git reset",但这似乎很费力。

有更好的解决方案吗?

Git 只跟踪文件(不是文件夹/目录)。

但是,出于优化目的,git status 报告 子目录/文件夹中未跟踪的文件(如果可能)使用缩写格式。

要取消缩写,请使用 git status -uall(即 -u + all,如 "show me all the files, not a shortened list")。你也可以写 -uno 意思是显示 no 文件,或者只是 -u 意思是 -uall 无论如何。默认是-unormal,也就是正常的简写版本。

您可以添加任何单个文件,例如:

git add folder1/foo.txt

现在该文件已被跟踪,git status 不能再缩写:它必须一次列出 folder1/ 中所有仍未跟踪的文件,因为 folder1/foo.txt 已被跟踪.