[英]VS2015, Git and undo
在Git存储库中工作时,VS2015中的undo出现了一个奇怪的问题。 更改例如web.config,如果我撤消更改,则内容将更改为未修改的版本。 但是,即使文件没有更改,该文件仍显示为已更改的文件。
Se屏幕投射: https : //jnus.tinytake.com/sf/MTIwNjg0OF80NjMzMDc1
使用以下配置:.gitconfig
[core]
fscache = true
preloadindex = true
autocrlf = true
.gitattribute
* text=auto
知道为什么会这样。 我怀疑行结尾(当前使用CRLF),但无法确认这一点。
更新:我尝试使用以下别名对行尾进行归一化,没有任何运气。
git rm --cached -r . && git reset --hard && git commit -a -m 'Normalize CRLF' -n
更新2:似乎只影响基于XML的文件,例如csproj,config等。
我建议检查一下git所说的内容:
git status
或TortoiseGit,查看是否具有暂存版本和未暂存版本 git diff
,查看修改后的内容 Ok找到了一个解决方案,该解决方案使用上述.gitattribute修复了我们所有解决方案中的所有行尾(准确的是240万个结尾)。 在此之后,撤消问题消失了。
$ echo "* text=auto" >>.gitattributes
$ rm .git/index # Remove the index to force git to
$ git reset # re-scan the working directory
$ git status # Show files that will be normalized
$ git add -u
$ git add .gitattributes
$ git commit -m "Introduce end-of-line normalization"
从尝试用git filter-branch修复行尾,但没有运气
这确实是一个PITA,对于团队来说,这不是Windows / Visual Studio上git的很好的初识。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.