【问题标题】:Problem with modified files showing up in Git but not updating?修改后的文件出现在 Git 中但没有更新的问题?
【发布时间】:2011-07-08 08:48:20
【问题描述】:

我有一些文件/文件夹无法离开 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}

...但这些都不起作用。

有什么想法吗?

谢谢。

【问题讨论】:

    标签: git git-submodules staging


    【解决方案1】:

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

    【讨论】:

    • 除了删除 .git 文件夹后,在此文件夹中所做的任何更改都不会被父 repo 跟踪。至少在我使用的 git v1.8.3.1 中是这样的。
    • 你还需要git rm --cached submodule_path # delete reference to submodule HEAD (no trailing slash) 才能忘记这个子模块。
    【解决方案2】:

    这些可能是子模块,在这种情况下,它们的状态将根据父 repo 的状态显示。

    除非,也就是说,您使用git status--ignore-submodules[=&lt;when&gt;] 选项:

    查找更改时忽略对子模块的更改。
    &lt;when&gt; 可以是“none”、“untracked”、“dirty”或“all”,这是默认值。

    • 使用“none”将在子模块包含未跟踪或修改的文件或其HEAD与超级项目中记录的提交不同且可用于覆盖任何设置时认为已修改git-configgitmodules 中的忽略选项。
    • 当使用“untracked”时,如果子模块仅包含未跟踪的内容(但仍会扫描修改的内容),则不会将其视为脏。
    • 使用“dirty”会忽略对子模块工作树的所有更改,只显示对存储在超级项目中的提交的更改(这是 1.7.0 之前的行为)。
    • 使用“all”可隐藏对子模块的所有更改(并在设置 config option status.submodulesummary 时抑制子模块摘要的输出)。

    在任何情况下,您都需要在子模块本身中添加和提交,然后才能上一级(在父 repo 级别)并查看干净状态。

    【讨论】:

    • 如果他们一直显示为已修改,我如何从我的仓库中清除他们的“修改内容”?
    • @Trip:通过进入该子模块,执行git add . there,提交,然后返回到父 repo:git status 将显示干净状态。
    • @Vonc 我按照您的指示进行操作,现在父级上的 git 状态显示 bundle/supertab (new commits)。如果我只是回去,我发现git status 没有显示修改后的内容,但如果我尝试提交我仍然看到modified: bundle/supertab (modified content)。你知道我能不能摆脱它吗?
    猜你喜欢
    • 2015-09-09
    • 2019-11-29
    • 2022-06-17
    • 1970-01-01
    • 2014-11-06
    • 2021-11-19
    • 2014-02-22
    • 1970-01-01
    • 2016-03-08
    相关资源
    最近更新 更多