停止在本地跟踪文件,但让其他仓库用户继续跟踪它。
停止在本地跟踪文件,但让其他仓库用户继续跟踪它。
我正在使用Git和GitHub在IntelliJ IDEA项目上进行协作。仓库的创作者将IntelliJ的`.idea`文件夹添加到了仓库中,但我发现在提交对话框中不断出现IDE文件的更改很烦人。实际上,`.idea`文件夹已经添加到了`.gitignore`中,但这是在它们被跟踪之后发生的。\n我使用`git rm --cached -r -f .idea/`将该文件夹从本地仓库中移除,据我所知,这会将文件从仓库中移除。\n然而,其他的合作者仍然希望能够提交和推送他们对`.idea`文件夹的更改。所以我只想在本地忽略`.idea`文件夹。\n该文件夹及其内容现在在提交对话框中显示为`deleted`,我担心如果我现在提交和推送,会影响其他合作者,对吗?我应该怎么做才能只在本地忽略这个文件夹,而不影响其他仍然希望能够提交和推送他们对该文件夹的更改的人?这种情况是否可能?
问题的原因是使用了错误的命令`assume-unchanged`来停止跟踪文件,而应该使用`skip-worktree`命令来忽略对文件的本地跟踪。
解决方法是使用命令`git update-index --skip-worktree [file]`来停止对文件的本地跟踪。
参考答案提供的更多见解可以在这里找到。
再次说明,错误使用`assume-unchanged`是为了性能。正确的做法是使用`skip-worktree`来忽略本地跟踪。可以在stackoverflow.com/a/13631525/717372找到更多关于这个问题的解答。
这个问题的原因是大多数人在stackoverflow上的回答都是错误的。
更新回答,提供正确的信息。