我已经阅读了如何使用 git 命令从存储库中删除忽略文件中的文件:将目录添加到 .gitignore 后从远程存储库中删除它们 https://stackoverflow.com/questions/7927230/remove-directory-from-remote-repository-after-adding-them-to-gitignore.
我正在将 Visual studio 2019 与 Azure DevOps 中的存储库一起使用。我已经使用了这些步骤:
- 从 Git 资源管理器菜单中,“在命令提示符中打开”
-
git rm -r --cached .
这告诉 git 停止跟踪所有内容,现在我的所有文件在“分阶段更改”中显示为已删除,而少量文件在“更改”中显示为添加。这看起来不错。我假设被忽略的文件不会再次添加回来,因此当我提交这些添加时,首先应该被忽略的所有文件都将在服务器上删除。
- 阶段。现在看来有问题了。添加的文件显示为已修改。
- 当我在浏览器中查看更改时,推一下看看它们是什么样子:
“仅显示前 999 项更改。单击此处加载更多”。我能看到的每个文件都有一个警告:“该文件仅在空白处不同”
我猜这与行结尾有关,但这使得几乎不可能检查更改。有没有办法阻止我使用此过程时发生的空白更改?或者扭转空白的变化?或者告诉 git 只检查删除?
TLDR 答案 (来自VonC https://stackoverflow.com/a/68673681/150342):
git rm -r --cached .
git config --global core.autocrlf false
git add --renormalize .
git add .
git commit
阶段。现在看来有问题了。添加的文件显示为已修改。
重复相同的过程,但在步骤 3(暂存)之前添加:
git config --global core.autocrlf false
这将确保自动 eol(行尾)转换。
看看是否有git add .
(or git add --renormalize .
使用 Git 2.16+ https://stackoverflow.com/a/47580886/6309) 后面跟着一个git status
仍然显示修改后的所有内容。
The OP Colin https://stackoverflow.com/users/150342/colin确认于评论 https://stackoverflow.com/questions/68641723/how-to-remove-files-from-repository-listed-in-gitignore-without-changing-whites/68673681#comment121371959_68673681以下工作:
git config --global core.autocrlf false
git add --renormalize .
git add .
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)