2014-01-09 34 views
0

我們試圖在VS中使用Git(bitbucket),並在提供者中使用build。但拉不斷失敗,說明Web.config文件存在更改。但Web.config甚至沒有被列爲更改文件(也沒有更改)。如果我使用SourceTree或命令行:VS2013和Git:pull無法合併

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\" 

混帳配置core.autocrlf輸入,在根文件夾。

想知道如果將autocrlf和quotepath設置添加到我的全局gitconfig中,會使得VS在VS中的行爲與源代碼樹中的行爲類似?

+0

告訴我們更多關於'.gitattributes'和你的'core.autocrlf'設置以及文件實際擁有的行結尾的信息嗎? –

+0

已更新的問題 – sheamus

+0

我的'gitattributes'手冊頁似乎表明'%USERPROFILE%/ git/attributes'或'%USERPROFILE%/。config/git/attributes'是正確的位置,而不是'%USERPROFILE%/ .gitattributes'。然而,可能是因爲你正在使用的任何'git'版本而被調整 - 我會建議檢查'git help gitattributes'以確認... – twalberg

回答

0

我在使用Visual Studio 2013中的git時發生過一些非常奇怪的事情,它似乎能夠在某些操作執行時與git的實際狀態出奇地不同步,例如,如果您從另一個項目添加一個現有的文件VS有時會完全忽略或錯誤地報告文件的狀態,並會拒絕將該文件添加到您的暫存區,其中命令行顯示正確的狀態並按預期添加文件。

我可能不正確,錯過了一些東西,因爲我是git noob的東西,但我很確定這是提供者的錯誤。

我發現的唯一解決方案是使用我的git操作的命令行,並使用VS來查看差異和探索回購。

與其說是一種解決方法,不如說是一種解決方法,但git在命令行中使用是值得學習的一種快樂。

+0

如果您認爲git提供者的行爲不正確,請給我們留言,我們很樂意與您一起調查。 –

+0

我會玩一玩,看看我是否可以重現這個問題,有趣的是,一旦我從命令行更新了暫存區域,VS似乎趕上了,然後一切正常。 –

+0

埃德 - 你究竟想要什麼?我可以做一個關於它發生的視頻。提供者對什麼是問題沒有反饋,其他的libgit產生了一個錯誤。進入源代碼樹或命令行,並執行拉動工作正常。 – sheamus