我试图忽略我的Visual Studio项目中的obj,bin,调试类型文件/目录。我遵循了这里的建议:
ignoring any 'bin' directory on a git project
这不起作用。
我在这里粘贴了整个git忽略:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
这不起作用。
我尝试过各种各样的事情......
bin/
obj/
*bin/
*obj/
/bin/
/obj/
packages
MyProject/MyProject/obj/
MyProject/MyProject/bin/Debug/
MyProject/MyProject/obj/*
MyProject/MyProject/bin/Debug/*
当我运行git add时,目录及其文件仍然包含在内。添加并提交.gitignore文件。我究竟做错了什么???
编辑:我正在尝试忽略的文件尚未被跟踪。当我运行“git status”时,没有挂起的更改。 “没什么可承诺的,工作树干净”。然后我运行我的VS程序,修改这些文件夹中的文件。然后我运行另一个git状态,所有文件显示为“已修改”...
EDIT2:如果文件已存在,这有关系吗?它们没有被跟踪,但存在于文件夹结构中。当我运行程序时,它们再次显示为“已修改”。然后我必须进行“git checkout”。全部删除它们。然后循环重复......
如果在添加.gitignore之前已经跟踪并提交了您的文件,则不会忽略它。您需要将其从索引中删除以停止跟踪
对于文件
git rm --cached <file need to remove>
对于文件夹
git rm -r --cached <folder>
因此,在您的情况下这将是一个问题,因为Jenkins仍然能够在回购中看到该文件
你好看看编辑部分,
如果您的git索引中已有任何您不想再跟踪的文件夹,则需要明确删除它们。 Git不会因为它们现在匹配新的.gitignore模式而停止跟踪已经被跟踪的路径。仅从索引(--cached)recursivelly(-r)执行文件夹remove(rm)。
git rm -r --cached yourfolder
根据你上面的“编辑2”,听起来你不认为这些已经被认可,但实际上,它们已经存在。如果它显示为“已修改”,则git会识别该文件已从其签入的最后一个版本更改。如果该文件之前尚未提交,则它将显示为Untracked。
当您在这些文件上运行git checkout时,您告诉git将这些文件还原为已检入git的最新版本。