簡體   English   中英

如何使用 CRLF 強制 git commit?

[英]How to force git commit with CRLF?

如果我使用autocrlf ,它看起來像這里

                     push    clone
1) true:             x -> LF -> CRLF
2) input:            x -> LF -> LF
3) false:            x -> x -> x

但我想使用 CRLF 進行 git 自動提交:

x -> CRLF (if I use LF, it will commit with CRLF)

我可以做嗎?

預先感謝 !!!

編輯:我想混帳不支持它,所以我力變化lfcrlfCRLF

你至少可以確保文件被正確簽出, .gitattributes文件中使用eol指令

# Declare files that will always have CRLF line endings on checkout.
*.sln text eol=crlf

此設置強制 Git 在簽入時標准化此文件的行尾,並在簽出文件時將其轉換為 CRLF。

那,結合git config --global core.autocrlf false將確保您的文件在您的工作樹中可用。


我想當我用 CRLF 或 LF 提交文件時,git 將其更改為 CRLF。

使用上面的設置,這似乎是不可能的,因為默認的標准化總是在簽入時轉換 LF。
這只是為了確保使用正確的 eol(行尾)檢出您的文件。

但是,如果您想在簽入時強制使用 crlf,則需要手動執行此操作。
嘗試:

git config --global core.autocrlf false

確保在任何 .gitattributes 文件中沒有任何core.eoltext eol指令(以避免任何“重新規范化”)

並對使用錯誤 eol 檢出的任何文件執行unix2dos

最后,添加並提交:那些帶有 CRLF 的文件仍應使用 CRLF 簽入。

您可以使用某個模塊將LF更改為CRLF

但我認為你不需要改變它,只需使用autocrlf=true

暫無
暫無

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

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