工作中,同時使用Git for windows和SourceTree,SourceTree主要用來看日志,分支和文件改動這些,還是挺方便的。
其中,SourceTree有個挺好用的功能就是一個文件的改動,會按照改動區(qū)域進行分塊組織列出,這樣我們可以對某個塊進行提交和丟棄(不知道用Git命令是否也能實現(xiàn)這種功能?),這是一個很不錯的功能,實踐中也比較常用。
但是,今天遇到一個問題,把文件的某個塊改動丟棄之后,發(fā)現(xiàn)整個文件都顯示被改動了,仔細一看,文件內(nèi)容其實還是之前的內(nèi)容,一下反應(yīng)過來,應(yīng)該是換行符之類的空白字符改動所致。
用BeyondCompare一對比,果然,文件整個被從Windows的換行符改成了Unix的換行符,所以顯示文件被全部改動,但是代碼又沒發(fā)生變化。
用其他文本編輯器把文件全部轉(zhuǎn)回Windows的換行符,果然,一切恢復正常。
這應(yīng)該是Source Tree的一個bug,因為找遍了Source Tree的設(shè)置項,也沒看到和換行符相關(guān)的一些設(shè)置,這里記錄下,看來后續(xù)使用Source Tree的丟棄功能的時候要小心些。