我在.git文件夹的文件夹中创建了一个.gitignore文件,但在重新扫描存储库时,我仍然会收到我试图忽略的文件.
这是文件的内容.
# Ignored files
*.suo
*.user
bin
obj
*.pdb
*.cache
*_svn
*.svn
*.suo
*.user
*.build-res
TestResults
_ReSharper*
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?假设位于何处?
你的档案看起来不错.只要确保你在每行的开头都没有任何空格,我花了4个小时才找到为什么我的.gitignore工作不正常; 原因当然是cut'n'paste问题,我在文件的开头有一个垂直的空格行.
git commit -a在确保您的.gitignore文件真正清除您不想要的所有内容之前,您应该小心.用或者标记每个文件(或使用通配符)git add *.cpp *.h- 或者 - 比如我更喜欢 - 在你进步时开发你的.gitignore,并git status在提交之前一直检查.
如果你想仔细检查你的.gitignore是否真的有用,试试吧
git ls-files --others -i --exclude-standard
Run Code Online (Sandbox Code Playgroud)
这应该列出您当前忽略的所有文件.
要清理你已经添加的文件(可能正在使用git add .,我们在开头犯了一个错误=])你可以这样做@VonC说:要么运行
git rm <filename>
Run Code Online (Sandbox Code Playgroud)
要么
git rm --cached <filename>
Run Code Online (Sandbox Code Playgroud)
清除所有无意添加的文件的另一个选择是彻底清理存储库,然后重新添加所有文件.如果要清除暂存区域中的所有内容,可以运行
git --rm cached .
Run Code Online (Sandbox Code Playgroud)
但请记住不要运行git add .直到你确定git status只列出你真正想要的文件库.
git的另一个非常有用的功能是它在使用通配符时不需要文件路径.如果你列出你忽略的文件,看看您要删除所有*.suo与*.log文件,只需要运行
git rm --cached *.suo *.log
Run Code Online (Sandbox Code Playgroud)
并且git负责查找存储库中与该签名匹配的所有文件,无论它们位于树中的哪个位置.
| 归档时间: |
|
| 查看次数: |
22100 次 |
| 最近记录: |