2011-06-22 30 views
7

git config --global core.autocrlf inputđầu vào git autocrlf có chuyển đổi dòng kết thúc nhưng từ LF sang CRLF không?

theo this github help page điều này sẽ định cấu hình git để nó chuyển đổi tất cả các kết thúc dòng sang LF khi cam kết.

Tuy nhiên, khi cam kết với repo của tôi, đây là đầu ra tôi nhận được.

> git commit -am "test commit" 
warning: LF will be replaced by CRLF in .htaccess. 
The file will have its original line endings in your working directory. 
warning: LF will be replaced by CRLF in .htaccess. 
The file will have its original line endings in your working directory. 
[release/4.2 27bad5b] test commit 
warning: LF will be replaced by CRLF in .htaccess. 
The file will have its original line endings in your working directory. 
1 files changed, 1 insertions(+), 1 deletions(-) 

Sau đó, tôi đã kiểm tra cấu hình của mình để xem tùy chọn autocrlf đã được đặt chính xác hay chưa.

> git config -l | grep "crlf" 
core.autocrlf=input 

Tại sao git nói rằng chuyển đổi LF thành CRLF chứ không phải cách khác mà tôi đang tìm kiếm?

Và tại sao khiếu nại lại 3 lần? Có phải vì nó tìm thấy 3 lần xuất hiện sẽ được thay thế? Tại sao nó lại cảnh báo tôi một lần sau khi xuất hiện commithash?

Tôi đang bối rối (và trên máy Mac cho các hồ sơ :))

+0

(như một lưu ý, trang github đề cập đến "autocrlf = input" chỉ trên các tab không phải cửa sổ ...) – rogerdpack

Trả lời

13

Sau một thời gian dài với đối phó với kết thúc dòng, tôi chỉ đơn giản là sẽ không cho phép bất kỳ dụng cụ, bao gồm VCS thay đổi chúng tôi.

Tôi hiện sử dụng autocrlf falsecore.whitespace cr-at-eol. Điều này được thoát khỏi sự khó chịu^M trong đầu ra khác. Đây chỉ là một bổ sung nổi bật mà git hiện để hiển thị cho bạn những điều đáng sợ như khoảng trống thừa ở cuối dòng hoặc ngay trước một tab, v.v.

Hy vọng bạn có thể làm tương tự và được thực hiện với dòng kết thúc điên rồ mãi mãi quá .

+0

Lời khuyên của Adam được phát hiện. Tôi đã có một vấn đề tương tự khi khởi tạo một repo lớn với nội dung mạng nội bộ cũ có chứa kết thúc dòng hỗn hợp trong một số tập tin (đó là những gì đi lên autocrlf). Tắt autocrlf là quá trình hành động an toàn nhất tại đây. – Blackcoat

Các vấn đề liên quan