簡體   English   中英

為什么Source Tree不能通過Git區分Powershell腳本(ps1)

[英]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。 將其更改為UTF8ascii可解決此問題,並且我在SourceTree中再次獲得diff

您可以做(僅最近的git!)

*.ps1 text working-tree-encoding=UTF-16LE eol=CRLF

(如果帶寶等,則刪除LE)

這在您的gitattributes文件中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM