Git 中停止跟踪已提交文件并保留本地文件

本文记录一次误将文件提交到远程仓库后,如何在本地保留文件的前提下,彻底从 git 跟踪和远程仓库中移除。

有一个文件 123.txt 被我不小心提交并推送到远程了,我想让这个文件不再被 git 跟踪了,但是不要从本地目录中删除。

我知道,如果文件不想被跟踪,可以加入 .gitignore 文件,但是,对于已跟踪的文件是无效的。所以,我先把 123.txt 加入到忽略文件,.gitignore内容如下:

123.txt

然后,从暂存区删除忽略的文件:

git rm -r --cached 123.txt

最后,把修改提交到远程仓库:

git cm -am 'chore: delete remote file

解释一下:

  • rm,remove 删除
  • -r,递归
  • --cached,只从暂存区删除,文件还是保留在本地
  • cm,是commit的别名(通过git config --global alias.cm 'commit'设定)
posted @ 2026-01-07 22:23  ryan-deng  阅读(8)  评论(0)    收藏  举报