Git 取消跟踪并推送

Git untrack and push

情况:我取消跟踪一些保存在本地的文件。文件从索引中删除并保存在工作树中。然后我提交并推送到远程。文件将从远程存储库中删除。

别人拉的时候会怎么样?他们的本地文件会被删除(如远程)还是他们会保留他们的本地副本,不被跟踪(如我的工作树)?

如果其他人在本地拉分支,那么他们的本地文件将像远程一样被删除,因为文件是从远程删除的。


git rm --cached 从暂存区中删除文件,因此文件变得未跟踪(不再是 known/handle 被 git 跟踪)。提交后,推送文件从远程删除。

比如如果您只是创建一个新文件 a.txt 而不是添加、提交、推送到远程(a.txt 是一个未跟踪的文件),那么a.txt 拉到本地完全不被别人知道

要开始忽略对文件的更改

git update-index --assume-unchanged path/to/file

重新开始跟踪

git update-index --no-assume-unchanged path/to/file