修改过的文件出现在Git但没有更新的问题?

Int*_*ist 9 git staging git-submodules

我有一些文件/文件夹只是不会离开Git临时区域?

# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#   (commit or discard the untracked or modified content in submodules)
#
#   modified:   JavaScript/Stand.ard.iz.er (modified content, untracked content)
#   modified:   Site (untracked content)
#   modified:   Template Archives/Template (modified content, untracked content)
#   modified:   Template Archives/Template_Git (modified content, untracked content)
#
Run Code Online (Sandbox Code Playgroud)

我已经尝试了所有这些"修改"的文件,但没有运气?

我试过了...

git add .
git add *
git add -u
git add {actual full directory path}
Run Code Online (Sandbox Code Playgroud)

......但没有一个有效.

有任何想法吗?

谢谢.

Von*_*onC 14

那些可以是子模块,在这种情况下,它们的状态将从父级仓库的状态显示.

除非,即使用git status--ignore-submodules[=<when>]选项:

在查找更改时忽略对子模块的更改.
<when>可以是" none"," untracked"," dirty"或" all",这是默认值.

  • 使用" none"会考虑修改的子模块时,它要么含有未跟踪或修改的文件或它HEAD不同于在提交记录在上层项目和可用于覆盖在此忽略选项的任何设置git-configgitmodules.
  • 使用" untracked" 时,如果子模块仅包含未跟踪的内容(但仍会扫描修改后的内容),则子模块不会被视为脏.
  • 使用" dirty"忽略对子模块工作树的所有更改,仅显示存储在超级项目中的提交的更改(这是1.7.0之前的行为).
  • 使用" all"隐藏对子模块的所有更改(并在config option status.submodulesummary设置时禁止子模块摘要的输出).

在任何情况下,您都需要在子模块本身内添加和提交,然后才能上升到一个级别(在父级仓库级别),并看到干净状态.


pax*_*xer 11

如果您将一些新文件夹复制到已包含.git文件夹的项目中,则可能会发生这种情况.所以它就像你的主存储库中的子存储库.解决方案是在新复制的子文件夹中删除此.git文件夹.