我们正在尝试使用Git(bitbucket)和VS以及内置提供程序。但是拉动总是失败,说明Web.config文件已经存在更改。但是Web.config甚至没有被列为已更改的文件(也没有更改)。如果我使用SourceTree或命令行:
git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin
似乎工作正常。 (我从源代码树中窃取了命令行。)
修改的: 对不起,我应该提到,我是一个git newb。我假设.gitattributes在%USERPROFILE%/。gitattributes 中查找。我似乎没有。
我的%USERPROFILE%/。gitattributes 如下所示:
[user]
email = xxxx
name = xxxx
[core]
excludesfile = E:\\UserFiles\\sheam\\Documents\\gitignore_global.txt
[gui]
recentrepo = E:/Projects/FieldCapBase
[difftool "sourcetree"]
cmd = 'C:/Program Files (x86)/WinMerge/WinMergeU.exe' \"$LOCAL\" \"$REMOTE\"
git config core.autocrlf 在根文件夹中提供输入。
想知道将autocrlf和quotepath设置添加到我的全局gitconfig是否会使得VS的行为与源代码树一样?
答案 0 :(得分:0)
在Visual Studio 2013中使用git时,我遇到过一些非常奇怪的事情,在执行某些操作时,似乎能够奇怪地与git的实际状态不同步,例如,如果添加来自另一个项目VS的现有文件有时会完全忽略或错误地报告文件的状态,并拒绝将文件添加到临时区域,其中命令行显示正确的状态并按预期添加文件。
我可能是错误的并且遗漏了一些东西,因为我也是一个git noob但是我很确定这是提供者的错误。
我找到的唯一解决方案是使用命令行进行git操作,只需使用VS查看差异并探索回购。
与解决方案不同的是解决方案,但git在命令行使用是非常值得的,值得学习。