如何删除Git本地文件且无需commit、push对应的删除操作
解决方案
完全可以实现,你可以通过Git内置的索引标记功能实现本地删除文件但不被Git感知,操作步骤如下:
- 首先对需要删除的文件执行标记命令,让Git停止追踪该文件的变更:
可以同时指定多个文件路径,批量操作也支持通配符,比如git update-index --assume-unchanged 你要删除的文件路径git update-index --assume-unchanged *.log可批量标记所有.log后缀的文件。 - 标记完成后直接在本地删除对应文件即可,Git不会将删除操作识别为待提交变更,也不会影响远程仓库的内容,本地和远程master依然保持同步。
后续恢复Git对文件的追踪方法
如果之后你需要重新让Git管理该文件,取消标记即可:
git update-index --no-assume-unchanged 对应的文件路径
注意事项
- 这个标记仅作用于你的本地仓库,不会同步到远程,也不会影响其他协作者的仓库状态
- 不要对需要经常修改的已追踪文件使用该标记,否则容易出现本地变更被意外忽略的问题
- 如果后续执行
git pull时远程有该文件的更新,Git会自动取消该文件的assume-unchanged标记,拉取更新后你可以重新执行标记命令再删除即可
内容的提问来源于stack exchange,提问作者alfavictor
相关产品推荐
相关产品推荐

