我阅读了这里的git命令教程:Remove directory from remote repository after adding them to .gitignore,以了解如何从存储库中删除在忽略文件中的文件。
我使用Azure DevOps中的Visual Studio 2019存储库,并采取了以下步骤:
我使用Azure DevOps中的Visual Studio 2019存储库,并采取了以下步骤:
- 从Git浏览器菜单中选择“在命令提示符中打开”
git rm -r --cached .
这告诉git停止跟踪所有内容,现在我的所有文件都显示为“已删除”在“已暂存更改”中,而较少的文件则显示为“已添加”的“更改”。看起来不错。我认为被忽略的文件不会再次添加,因此当我提交这些添加时,原本应该被忽略的所有文件都将在服务器上被删除。- 暂存。现在出现了问题。添加的文件显示为“已修改”。
- 推送以查看在浏览器中查看更改时它们的样子:“仅显示前999个更改。点击此处以加载更多”。我可以看到的每个文件都有一个警告:“文件只在空格上有所不同”。
我猜测这是关于行尾的问题,但它几乎使得审查更改变得不可能。有没有办法在使用此过程时停止空格更改?或者反转空格更改?或告诉git仅检查删除?
简短回答(来自VonC):
git rm -r --cached .
git config --global core.autocrlf false
git add --renormalize .
git add .
git commit
git rm -r --cached .
的结果,与 VS2019 没有关系。从索引中删除所有文件,然后使用git add .
将它们添加回去(以便遵守 .gitignore 配置)似乎是修复存储库的常见方法。我的问题是这样会引入空格更改。 - Colingit rm --cached
,然后是git add
,最后是git commit
可以完成这件事。但你没有说出这个“某件事”是什么,而且显然这种解决方案并不能真正解决问题... - torekgit diff -w
和git diff
,更改是否会消失? - ti7