我在获得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文件中的所有文件。
请协助。
发布于 2019-12-19 15:00:43
.vs应该可以。以防万一:在.gitignore中添加一些东西,如果文件已经被跟踪,它就无法工作。它只适用于未跟踪的文件。
现在,如果您已经在.vs中跟踪内容,并且不想这样做,那么您可以使用两种方法:
git rm --cached .vs这将消除.vs目录中的向前移动的,它不会触及文件,因为它们在工作树上。这也意味着,如果,比方说,在一年内,您想回到已经包含这些文件的修订版中,您可能会覆盖这些文件的内容,因为您当时拥有它们,这可能会破坏任何依赖于元数据的内容。
git filter-branch或filter-repo这些工具可以重写分支的历史,以便将.vs目录完全从其中删除。这就像拔枪,不应该掉以轻心,因为这意味着要改写历史.它的所有含义(远远超出了这个答案的范围)。以防万一,过滤器分支正在被淘汰,如果我没有错的话,filter是一个仍然不在git中的脚本。
https://stackoverflow.com/questions/59411912
复制相似问题