ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Git 删除远程文件、本地保留并取消跟踪

Git 删除远程文件、本地保留并取消跟踪 Git 删除远程文件、本地保留并取消跟踪背景有时需要将某个文件从 Git 仓库中移除不再版本控制但保留本地文件不删除。典型场景误提交了配置文件、密钥、编译产物等。操作步骤1. 将文件添加到 .gitignoreechopath/to/file.gitignore目录同理echopath/to/dir/.gitignore2. 从暂存区移除跟踪不删除本地文件# 单个文件gitrm--cachedpath/to/file# 目录递归gitrm-r--cachedpath/to/dir/3. 提交变更gitadd.gitignoregitcommit-mremove file from tracking, keep local4. 推送到远程gitpush执行完成后远程仓库中该文件被删除本地文件完整保留后续修改也不会被 git 跟踪。原理说明Git 三个区域工作区 (Working Directory) → 暂存区 (Index/Cache) → 仓库 (Repository) 实际文件 git 跟踪的快照 提交历史–cached 参数的含义--cached表示只操作暂存区不动工作区的实际文件。命令暂存区本地文件git rm file删除删除git rm --cached file删除保留注意事项操作前建议先确认.gitignore规则已正确配置否则下次git add .会把文件重新加回来。如果文件包含密钥或敏感信息仅删除远程文件不够——历史提交中仍有记录需用git filter-branch或git filter-repo彻底清除历史。团队协作时其他成员 pull 后本地该文件会被删除需提前告知。
返回列表