我曾嘗試加入這個到.gitattributes:如何讓Git顯示更改我的.sql文件?
* text=auto
*.sql diff
但它仍然這樣表示:
BIN WebRole/Sql/Objects/dbo.Content.Table.sql →
WebRole/Sql/dbo.Content.Table.sql Binary file not shown
將不勝感激幫助與此有關。
我曾嘗試加入這個到.gitattributes:如何讓Git顯示更改我的.sql文件?
* text=auto
*.sql diff
但它仍然這樣表示:
BIN WebRole/Sql/Objects/dbo.Content.Table.sql →
WebRole/Sql/dbo.Content.Table.sql Binary file not shown
將不勝感激幫助與此有關。
Git通常會通過檢查內容的開始來正確猜測blob是否包含文本或二進制數據。然而,在你的情況下,git會變得困惑,並將文件視爲二進制文件,可能是由於文件中某處的二進制數據。
從混帳DIFF手冊頁:
-a, --text Treat all files as text.
所以你仍然可以得到文字差異很容易如下:
git diff -a WebRole/Sql/Objects/dbo.Content.Table.sql
要覆蓋git的猜測不正確添加以下以與文件相同的目錄中的.gitattributes:
* .sql diff
並提交此文件。這將強制git將每個.sql文件作爲文本從現在開始處理,無論它是否包含二進制數據。
GitHub可以很好地決定它如何管理它的差異(例如,他們有自定義差異爲3D renderings,maps或images)。
GitHub support將能夠精確地說明.sql
文件是如何處理和區分的。
但也請檢查您的GitHub倉庫中的SQL文件的編碼。
正如我在「Why does git think my cs file is binary?」中所提到的,UTF-16文件可能存在問題。
確保至少sql文件使用UTF-8。
它看起來像一個文件編碼問題,你使用什麼編碼?
cf.遵循SO問題:Why does Git treat this text file as a binary file?和Can I make git recognize a UTF-16 file as text?。
你可以強制你的本地git允許文件上的文本差異,但不允許GitHub。
檢查你的編碼並用UTF-8替換你的文件應該修復這種情況。
實際上在.gitAttributes文件的拼寫中是否有大寫的'A'。這可能會影響區分大小寫的文件系統。 Git通常會拼寫這個文件名'.gitattributes'。 – Wolf
我認爲你的意思是Git,而不是GitHub,對嗎? – bitoiu
我使用的是Git,但它是GitHub屏幕向我顯示上面的消息。 –