Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git rm--缓存不工作_Git_Github - Fatal编程技术网

git rm--缓存不工作

git rm--缓存不工作,git,github,Git,Github,我一直在尝试从git版本控制系统中删除一些文件,以便在提交时不会推送它们 git-rm--cached filename和git-rm--force--cached filename对多个文件都不起作用。基本上,删除的文件会被推送到github(不是在我更改有问题的文件时,而是在我编辑并提交项目中的其他文件时) 此外,对于一些文件,当文件确实存在于git rm命令的路径中时,我得到了致命的:pathspec不匹配任何文件错误 这里有些东西坏了,但我不知道如何安全地复位。请帮忙。试试这些命令:-

我一直在尝试从git版本控制系统中删除一些文件,以便在提交时不会推送它们

git-rm--cached filename和git-rm--force--cached filename对多个文件都不起作用。基本上,删除的文件会被推送到github(不是在我更改有问题的文件时,而是在我编辑并提交项目中的其他文件时)

此外,对于一些文件,当文件确实存在于git rm命令的路径中时,我得到了致命的:pathspec不匹配任何文件错误

这里有些东西坏了,但我不知道如何安全地复位。请帮忙。

试试这些命令:-

  • git重置文件名

  • git重置头文件名


  • 他们将从临时区域删除文件。

    将文件路径添加到项目根文件夹中的.gitignore。

    仅从索引中删除文件是不够的。您还必须创建一个提交,将该索引提交到您所在的分支,然后将其推送到远程存储库,您希望在其中显示此更改。如果您所做的只是
    git rm…
    ,然后在没有提交的情况下执行
    git push,则不会将删除推送到github

    执行
    git rm--cached
    后,文件将从索引中删除,同时保留在工作树中

    如果然后运行
    git diff
    ,则什么也看不到:这是因为它正在将工作树与分支提示进行比较。要查看分阶段删除,请使用git diff--cached
    。这是分支尖端和索引之间的差值。这就是下次调用git commit时将提交的内容

    只有在提交其他文件时才会推送删除,因为删除需要提交。当您进行其他更改并提交这些更改时,这些提交将拾取以前进行的删除


    如果在同一提交中意外地将文件
    x
    的非主题文件删除与对文件
    y
    的编辑结合在一起,则可以使用
    git reset HEAD^--x
    创建一个阶段索引,该索引将反向删除
    x
    。那就去做吧。或者,如果尚未发布错误的提交,请使用
    commit--amend
    。修改后的提交现在只有
    y
    编辑,并且
    x
    再次成为跟踪文件。现在用
    rm--cached x
    重新执行删除操作,并为此进行新的提交。

    您可能对Git的工作原理有点困惑。删除文件并推送时,这将导致从远程存储库中删除这些文件。当然,这些文件仍将保留在历史中,因为它们曾经存在过。