2016-09-09 19 views
10

Tôi đang cố gắng tìm ra giá trị mặc định cho core.autoclrf trong Git nếu người dùng không thay đổi cài đặt này là gì.Git core.autocrlf dòng kết thúc cài đặt mặc định

Tôi đã xem tài liệu nhưng không thể tìm thấy thông tin này. Bạn có thể vui lòng chỉ cho tôi đi đúng hướng không?

Cụ thể, khi cài đặt Git mới, Git có tự động chuyển đổi kết thúc dòng Windows sang Unix khi cam kết một repo từ hệ thống Windows không?

Cảm ơn!

+0

core.autocrlf không phải là core.clrf –

+0

Tài liệu trên https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration liệt kê ba tùy chọn nhưng không nói điều nào là mặc định và bật cài đặt sạch của tôi trên Ubuntu 'git config --list' không cho mục nhập cho' autocrlf', 'git config --get autocrlf' trả về' error: key không chứa phần: autocrlf', vì vậy tôi đăng một tiền thưởng. Có lẽ điều này có nghĩa là mặc định là sai nhưng nó sẽ là tốt để có điều này xác nhận – user568458

Trả lời

-1

Nếu bạn đang sử dụng trình cài đặt cửa sổ mới nhất của git, tùy chọn mặc định của core.autoclrf là ​​sai.

+8

Thú vị, thx! Bạn đã tìm thấy thông tin này ở đâu? – Pensierinmusica

+0

Điều này không đúng, ít nhất là không với git 2.15.0.windows.1 đi kèm với Git Bash. – user2061057

-1

Bạn có thể liệt kê tất cả các cấu hình chìa khóa-giá trị bằng cách phát hành lệnh này

git config --list 

Và như tôi thấy mặc định là

core.autocrlf=true

Mặc dù đây là các thiết lập tôi đã chọn (hoặc tốt hơn để nói " không được chạm vào ") khi tôi cài đặt Git cho Windows

+0

'git config --list' chỉ hiển thị các giá trị đã được đặt rõ ràng.Tại thời điểm này không có vẻ là một cách để có được giá trị mặc định của một tùy chọn cấu hình git. Xem [câu trả lời này] (https://stackoverflow.com/a/33720449/266309) để biết thêm chi tiết. – waldyrious

+0

@waldyrious nếu nó chưa được thiết lập rõ ràng? Và nếu nó luôn luôn được thiết lập rõ ràng theo mặc định và chưa được thiết lập kể từ đó điều này sẽ làm việc. ví dụ. Tôi chưa bao giờ thiết lập autocrlf và tôi thấy nó được liệt kê ở đó với một giá trị, do đó, đó là giá trị mặc định trong cài đặt git của tôi, core.autocrlf = true – barlop

+0

Tại sao các downvotes? Tôi chỉ kiểm tra rằng đây thực sự là trường hợp (git phiên bản 2.15.0.windows.1). Nếu tôi xóa toàn bộ '.gitattributes',' git config --list'shows 'core.autocrlf = true'. Nếu tôi đặt nó thành 'false' thì cài đặt mới này sẽ xuất hiện dưới dạng dòng cuối cùng trong đầu ra và do đó ghi đè giá trị mặc định. – user2061057

4

Kiểm tra git source code, core.autocrlf được đặt thành false theo mặc định. (Và đã được kể từ khi giới thiệu ban đầu của tài sản trên Feb 13, 2007, mặc dù nó đã được chuyển đổi từ một giá trị tĩnh thành một hằng số.)

Trình cài đặt Windows yêu cầu bạn chọn một giá trị cho thuộc tính này được đặt rõ ràng trong cấu hình hệ thống git.

0

Rất khó để tìm thấy điều này nói nhưng tôi có thể tìm ra bằng cách thử và sai rằng:

giá trị
  • mặc định là "false"

  • cài đặt Windows cho phép bạn chọn các hành vi mong muốn nhưng theo mặc định (nếu bạn cài đặt mà không thay đổi cài đặt được đề xuất), nó sẽ đặt thành "true". Đây không phải là phần mềm mặc định, trình cài đặt thiết lập cài đặt hệ thống core.autocrlf.

"false" có nghĩa là không xử lý về kết thúc dòng "true" có nghĩa là check-in như LF và kiểm tra ra theo hệ thống (CRLF trên Windows và LF trên Unix). Khi sử dụng Unix và Windows, bạn nên sử dụng "false" trên Unix (vì chuyển đổi tự động có thể phá vỡ một số tệp nhị phân xem tệp văn bản dòng và Unix sử dụng LF anyway) và "true" trên Windows (nếu không thì kho chứa đầy CRLF đang gây ra sự cố tương thích).

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