[英]Why does Source Tree not Git Diff a Powershell Script (ps1)
我正在Windows(v1.8.3.0)上將SourceTree用作git客戶端。 由於某種原因,它沒有顯示我的PowerShell腳本的diff
( .ps1
),而是將其顯示為二進制文件:
是否需要切換以獲得正確行為的設置? 如果我將文件重命名為.txt
,則diff
可以按預期工作。
我的.gitattributes
庫中有一個.gitattributes
文件,並且我已經對其進行了更新,以明確地說明.ps1
文件,但這似乎也不起作用:
*.ps1 diff=astextplain
*.PS1 diff=astextplain
另外,我可以在External Diff
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!)
*.ps1 text working-tree-encoding=UTF-16LE eol=CRLF
(如果帶寶等,則刪除LE)
這在您的gitattributes文件中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.