Atlassian SourceTree: Làm thế nào để thay đổi kết thúc dòng trên toàn cầu?


10

Có cách nào trong Atlassian SourceTree hoặc với máy chủ git hiện tại của tôi (BitBucket) để thay đổi kết thúc dòng trên toàn cầu cho tất cả các kho lưu trữ của tôi.

Tôi nghĩ rằng chúng hiện đang được đặt thành Unix (tôi nghĩ rằng tôi đã làm điều này một cách tình cờ) nhưng tôi chỉ phát triển trên Windows. IDE của tôi liên tục đưa ra các thông báo cảnh báo và lỗi về các kết thúc dòng hỗn hợp trong các tệp của tôi và tôi muốn sửa nó nhưng mỗi khi tôi đẩy dự án của mình lên đám mây thì nó lại bị thay đổi thành kết thúc Unix vì vậy ngay cả khi tôi thay đổi hàng loạt kết thúc dòng dù sao họ cũng được hoàn nguyên.

Câu trả lời:


12

Bạn có thể định cấu hình xử lý kết thúc dòng trên mỗi kho lưu trữ bằng cách thêm tệp .gitattribut đặc biệt vào thư mục gốc của kho lưu trữ Git của bạn. Nếu tệp này được cam kết với kho lưu trữ, nó sẽ ghi đè cài đặt core.autocrlf của nhà phát triển riêng lẻ.

Trong tệp này, bạn có thể định cấu hình Git để tự động phát hiện các kết thúc dòng.

Lưu ý: - Không phải tất cả các công cụ Git đồ họa đều hỗ trợ tệp .gitattribut, ví dụ IDE Eclipse hiện không hỗ trợ nó.

Đây là một ví dụ tập tin .gitattribut. Bạn có thể sử dụng nó làm mẫu cho kho lưu trữ của mình:

# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto

# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.c text
*.h text

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

# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary

Bạn sẽ nhận thấy rằng các tệp được khớp - *. C, * .sln, * .png--, được phân tách bằng khoảng trắng, sau đó đưa ra một cài đặt - văn bản, văn bản eol = crlf, nhị phân. Chúng tôi sẽ đi qua một số cài đặt có thể dưới đây.

text = auto Git sẽ xử lý các tệp theo bất kỳ cách nào nó nghĩ là tốt nhất. Đây là một tùy chọn mặc định tốt.

text eol = crlf Git sẽ luôn chuyển đổi kết thúc dòng thành CRLF khi thanh toán. Bạn nên sử dụng điều này cho các tệp phải giữ kết thúc CRLF, ngay cả trên OSX hoặc Linux. Ví dụ, đây là một dự án Windows thực thi các kết thúc dòng CRLF.

text eol = lf Git sẽ luôn chuyển đổi kết thúc dòng thành LF khi thanh toán. Bạn nên sử dụng điều này cho các tệp phải giữ kết thúc LF, ngay cả trên Windows. Ví dụ , đây là một dự án thực thi các kết thúc dòng LF.

binary Git sẽ hiểu rằng các tệp được chỉ định không phải là văn bản và nó không nên cố gắng thay đổi chúng. Cài đặt nhị phân cũng là một bí danh cho -text -diff.


Liên kết bên ngoài có thể trở nên không có sẵn, trong trường hợp câu trả lời của bạn sẽ có ít giá trị. Vui lòng bao gồm các thông tin cần thiết trong câu trả lời của bạn và sử dụng liên kết để ghi nhận và một nguồn thông tin thêm. Cảm ơn.
fixer1234

Hy vọng điều này bao gồm các chi tiết cần thiết
gpullen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.