繁体   English   中英

停止在git中跟踪文件-无需在本地或拉出时将其删除

[英]Stop tracking a file in git - without having it deleted either locally or on pull

我想忽略以前跟踪的文件/目录树-永久忽略它,但不要在一次请求时将其删除-只是在发生该请求的存储库中忽略它。 这可能吗 ? 为什么不(如果没有)? 我应该如何进行?

注意: 从Git存储库删除文件而不从本地文件系统中删除文件 (即git rm --cached path的可接受答案将导致文件被拉出删除。 讨厌。 不仅如此,而且“如果您从删除之前检出修订,然后从删除后检出修订,它将删除您的文件”(请参阅​​此评论 ),请参阅此问题,以获取其他有趣的评论/答案,这些评论/答案没有解决我的问题。问题。

我非常清楚--assume-unchanged标志,但是这不是我想要的-我想告诉git(以及所有存储库克隆)“嘿,停止跟踪此文件/树”,而不是“删除此文件/树” “-所以我想- --assume-unchanged在全球范围内--assume-unchanged 如果不可能(为什么?),我需要一种解决方法

作为记录,我试图引导git以使用它来保留/共享历史记录,并且我希望能够随意停止跟踪文件/目录- 而不删除它们

有关:

我遇到了同样的问题,我使用了git rm --cached <file>并在本地工作,但是一旦我推送到远程服务器,它也删除了文件,并且我不想这样做。然后我找到了git update-index --assume-unchanged <file> ,它会忽略本地更改,并且不会从远程服务器中将其删除,这就像一个魅力!

这是不可能的。 为了防止跟踪新的更改,您需要从存储库中删除文件(使用git rmgit rm --cached )。 会将更改添加到删除文件的提交中。 然后将该更改应用于其他存储库后,将执行删除操作,从而删除文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM