我有一些文件/文件夹只是不会离开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)
#
我已经尝试过将这些“已修改”的文件提交但没有运气的所有内容?
我试过......
git add .
git add *
git add -u
git add {actual full directory path}
......但没有一个有效。
有什么想法吗?
感谢。
答案 0 :(得分:14)
那些可能是子模块,在这种情况下,它们的状态将从父仓库的状态显示。
除非您使用git status的--ignore-submodules[=<when>]
选项:
在查找更改时忽略对子模块的更改
<when>
可以是“none
”,“untracked
”,“dirty
”或“all
”,这是默认设置。
- 使用“
none
”时,如果子模块包含未跟踪或修改的文件或其HEAD
与超级项目中记录的提交不同且可以使用,则会考虑修改子模块覆盖git-config
或gitmodules
中忽略选项的任何设置。- 当使用“
untracked
”时,如果子模块仅包含未跟踪的内容(但仍会扫描修改后的内容),则子模块不会被视为脏。- 使用“
dirty
”忽略对子模块工作树的所有更改,仅显示存储在超级项目中的提交的更改(这是1.7.0之前的行为)。- 使用“
all
”会隐藏对子模块的所有更改(并在设置config option status.submodulesummary
时禁止子模块摘要的输出。)< / LI>
在任何情况下,您都需要在子模块本身内添加和提交,然后才能上升到一个级别(在父级仓库级别),并看到干净状态。
答案 1 :(得分:11)
如果您将一些新文件夹复制到已包含.git文件夹的项目中,则可能会发生这种情况。所以它就像你的主存储库中的子存储库。解决方案是在新复制的子文件夹中删除此.git文件夹。