使用Windows 7,混帳1.9.5.msysgit.1Git的合併 - 衝突標記缺少
我讀過有關合並衝突Git中教程提示,失敗的合併將導致衝突標誌被放置在有問題的點在文件中。我似乎無法得到此發生。這裏是一個新的存儲庫中的樣本工作流程:
git init
notepad file1.txt #make some edits
git add .
git commit -m "msg"
git branch mybranch
git checkout mybranch
notepad file1.txt #make some edits on line 3
git add .
git commit -m "msg"
git checkout master
notepad file1.txt #make a conflicting edit on line 3
git add .
git commit -m "msg"
git merge mybranch
#error: 'merge' is not possible because you have unmerged files
notepad file1.txt
打開FILE1.TXT最後一次後,我期待看到標誌>>>>>>>>和======== ==第3行左右的衝突標記......但沒有任何內容,只是文件出現在主分支中。我的全球的.gitconfig文件:
[user]
name = Andrew Barger
[core]
[core]
attributesfile = ~/.gitattribtues
editor = 'C:\\Program Files (x86)\\Vim\\VIM74\\gvim.exe'
[merge]
conflictStyle = diff3
[rerere]
enabled = true
什麼阻止我回顧我的衝突?順便說一句,編輯: This answer沒有幫助我。我似乎沒有任何.gitattributes文件。在這裏,雖然是gitconfig --list
輸出,如果這能幫助:
PS C:\GitRepos\git_sandbox> git config --list
core.symlinks=false
core.autocrlf=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
pack.packsizelimit=2g
help.format=html
http.sslcainfo=/bin/curl-ca-bundle.crt
sendemail.smtpserver=/bin/msmtp.exe
diff.astextplain.textconv=astextplain
rebase.autosquash=true
user.name=Andrew Barger
core.attributesfile=~/.gitattribtues
core.editor='C:\Program Files (x86)\Vim\VIM74\gvim.exe'
merge.conflictstyle=diff3
rerere.enabled=true
alias.edit-unmerged=!f() { git diff --name-status --diff-filter=U | cut -f2 ; }; vim `f`
alias.add-unmerged=!f() { git diff --name-status --diff-filter=U | cut -f2 ; }; git add `f`
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
core.hidedotfiles=dotGitOnly
如果您運行'git gui'嘗試手動合併,您會看到什麼? – azurefrog
它注意到它需要合併衝突,但沒有顯示文件內容。相反,我看到一條消息說'二進制文件不同'...檢查我的測試文件,我發現它出於某種原因被編碼爲UTF-16 ...我會看到如果我重複使用UTF- 8文件。 – FolksymAndrew
@azurefrog它是文件編碼...只要我使用UTF-8衝突標記出現。我覺得自己像個假人。如果只有Git讓我知道它試圖比較它認爲是二進制的東西! – FolksymAndrew