我在让git忽略项目中的.vs隐藏目录时遇到问题。 我具有以下结构,我所有的项目文件都在MyProject目录中,其中还包括.vs目录,而我试图忽略该目录。
root/.git
root/MyProject
root/.gitattributes
root/.gitignore
root/MyProject/.vs
我尝试向.gitignore文件中添加一堆忽略命令,但似乎没有任何作用。 我尝试使用
*.vs
*.vs/
*.vs/*
**/.vs
**/.vs*
**/.vs**
**/.vs/**
**/.vs/*
MyProject/*.vs
MyProject/*.vs/
MyProject/*.vs/*
MyProject/**/.vs
MyProject/**/.vs*
MyProject/**/.vs**
MyProject/**/.vs/**
MyProject/**/.vs/*
我只希望忽略.vs文件中的所有文件。
请协助。
答案 0 :(得分:1)
.vs
应该可以。以防万一:将内容添加到.gitignore
中,如果文件已被跟踪,将无法使用。仅适用于未跟踪的文件。
现在,如果您已经在跟踪.vs
中的内容,并且不想这样做,则可以使用两种方法:
git rm --cached .vs
这将删除.strong前进的修订的.vs目录,因为您将文件放在工作树中,所以它不会触及文件。这也意味着,例如,如果您想在一年之内回到已经包含这些文件的修订版之一,则可能会覆盖该文件的内容,因为那时您拥有这些文件可能会破坏依赖于任何内容的内容该元数据。
git filter-branch
或filter-repo
这些工具可以重写分支的历史记录,以便完全删除.vs目录。这就像拔大炮一样,不应该掉以轻心,因为这意味着覆盖历史……及其所有含义(超出了详细答案的范围)。以防万一,如果我没有记错的话,filter-branch即将被淘汰,而filter-repo是仍然不在git中的脚本。