我在 Windows (v1.8.3.0) 上使用 SourceTree 作为我的 git 客户端。出于某种原因,它没有显示我的 PowerShell 脚本 (.ps1
) 的 diff
,而是将其显示为二进制文件:
是否需要切换设置以获得正确的行为?如果我将文件重命名为 .txt
,则 diff
会按预期工作。
我的存储库中有一个 .gitattributes
文件,我已经更新它以明确说明 .ps1
文件,但这似乎也不起作用:
*.ps1 diff=astextplain
*.PS1 diff=astextplain
或者,我可以在转到 External Diff
(通过 BeyondCompare)时看到 diff
就好了,但是,这并不能帮助我基于特定的提交行号:
最佳答案
看起来这是 Atlassian 产品(BitBucket、SourceTree)的一个已知问题:https://bitbucket.org/site/master/issues/5453/powershell-module-manifest-file-psd1-are
问题是我的 .ps1
文件被保存为 UTF16 Unicode。将其更改为 UTF8
或 ascii
修复了此问题,我再次在 SourceTree 中获得了 diff
。
关于git - 为什么源代码树不是 Git Diff 一个 Powershell 脚本 (ps1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36190272/