Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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删除本地文件,但保留repo中的文件_Git_Github - Fatal编程技术网

git删除本地文件,但保留repo中的文件

git删除本地文件,但保留repo中的文件,git,github,Git,Github,尝试在本地删除文件,同时将文件保留在repo上。问题是我似乎无法丢弃已删除的内容。我试过使用git-rm。但是使用git-rm也会删除回购时的副本,这不是我想要的。我能想到的唯一解决方案是将路径放入.gitignore。还有其他解决办法吗 Changes not staged for commit: (use "git add/rm <file>..." to update what will be committed) (use "git checkout -- <f

尝试在本地删除文件,同时将文件保留在repo上。问题是我似乎无法丢弃已删除的内容。我试过使用
git-rm
。但是使用
git-rm
也会删除回购时的副本,这不是我想要的。我能想到的唯一解决方案是将路径放入
.gitignore
。还有其他解决办法吗

Changes not staged for commit:
  (use "git add/rm <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)

    deleted:    stuff/code
未为提交而暂存的更改:
(使用“git add/rm…”更新将提交的内容)
(使用“git签出--…”放弃工作目录中的更改)
(提交或放弃子模块中未跟踪或修改的内容)
删除:内容/代码

这不是一件明智的事情,或者Git打算支持工作流

如果要删除本地文件,但不影响Git,则不能使用Git。只需使用
rm
。丢失的文件将永远显示为对Git的未老化更改

如果要删除该文件并防止Git将其持续显示为未老化的更改,可以使用

git update-index --assume-unchanged <file>
git更新索引--假定未更改

但是,你真的不应该这么做。

这不是一件明智的事情,或者Git应该支持工作流

如果要删除本地文件,但不影响Git,则不能使用Git。只需使用
rm
。丢失的文件将永远显示为对Git的未老化更改

如果要删除该文件并防止Git将其持续显示为未老化的更改,可以使用

git update-index --assume-unchanged <file>
git更新索引--假定未更改

但是,您真的不应该这样做。

将路径放入
.gitignore
并使用操作系统的常规工具删除它有什么错?这似乎正是你在这种情况下应该做的事情。@2个不起作用的炼金术士。您不能将文件添加到
.gitignore
中,如果该文件已在repo中,则不会有任何作用。@meagar抱歉,阅读理解。将路径放入
.gitignore
并使用操作系统的常规工具将其删除有什么错?这似乎正是你在这种情况下应该做的事情。@2个不起作用的炼金术士。您不能将文件添加到
.gitignore
中,如果该文件已经在repo中,则不会有任何作用。@meagar抱歉,阅读理解。不确定我是否做对了。我使用了
git更新索引——假设未更改
,然后删除我的文件。但它仍然显示为在
未提交的更改下被删除
@Two Bitalchest假设您使用的是合理的最新Git,它应该可以正常工作:@meagar获得它。谢谢你的清楚解释。非常有用。顺便说一句,我发现以下内容对于删除多个文件非常有用
git ls文件--deleted-z | xargs-0 git update index--assigned unchanged
。我将此作为一种攻击,这样我就可以通过符号链接在已经提交的外部库中进行修补,而git不会抱怨文件丢失。现在我可以在外部库上并行开发了!谢谢你的回答!不确定我是否做对了。我使用了
git更新索引——假设未更改
,然后删除我的文件。但它仍然显示为在
未提交的更改下被删除
@Two Bitalchest假设您使用的是合理的最新Git,它应该可以正常工作:@meagar获得它。谢谢你的清楚解释。非常有用。顺便说一句,我发现以下内容对于删除多个文件非常有用
git ls文件--deleted-z | xargs-0 git update index--assigned unchanged
。我将此作为一种攻击,这样我就可以通过符号链接在已经提交的外部库中进行修补,而git不会抱怨文件丢失。现在我可以在外部库上并行开发了!谢谢你的回答!