我在Windows上使用SourceTree作为我的git客户端(v1.8.3.0)。出于某种原因,它没有显示我的PowerShell脚本diff
(.ps1
),而是将其显示为二进制文件:
我需要切换设置以获得正确的行为吗?如果我将文件重命名为.txt
而不是diff
按预期方式工作。
我的回购邮件中有一个.gitattributes
文件,我已将其更新为明确说明.ps1
个文件,但这似乎无效:
*.ps1 diff=astextplain
*.PS1 diff=astextplain
或者,我可以看到diff
就好了我转到External Diff
(通过BeyondCompare),但是,这并不能帮助我根据特定的行号进行提交:
答案 0 :(得分:3)
看起来这是Atlassian产品(BitBucket,SourceTree)的一个已知问题:https://bitbucket.org/site/master/issues/5453/powershell-module-manifest-file-psd1-are
问题是我的.ps1
文件保存为UTF16 Unicode。将其更改为UTF8
或ascii
会修复此问题,我会再次在SourceTree中获取diff
。
答案 1 :(得分:1)
您可以(仅最近的git!)
*.ps1 text working-tree-encoding=UTF-16LE eol=CRLF
(如果带bom等,则删除LE)
这进入您的gitattributes文件