2011-10-25 32 views
9

Tôi đang làm việc trên Windows, nhưng cũng có thể hoạt động trên Unix, vì vậy tôi không cần phải lưu trữ kết thúc dòng Windows. Tôi chỉ muốn ngăn chặn cảnh báo.Làm thế nào để tắt cảnh báo Git "LF sẽ được thay thế bằng CRLF"?

tôi tìm thấy những câu hỏi này Stack Overflow có liên quan:
git turn off "LF will be replaced by CRLF" warning
git, whitespace errors, squelching and autocrlf, the definitive answers

tôi đã cố gắng:
core.whitespace cấu hình git cr-at-eol sai
git config core.whitespace cr-at -eol đúng
lõi git config.whitespace cr-at-eol nowarn

Nhưng những điều này dường như không làm gì cả. Có ai biết cách tắt cảnh báo không?

Cảm ơn.

Trả lời

7

Tôi chỉ cần sử dụng autocrlf=true trong tệp .git/config để bao gồm hầu hết các tình huống trong Windows. Có những cảnh báo không thường xuyên tùy thuộc vào tệp nguồn mới.

Nếu bạn có các tệp đặc biệt không tuân theo lược đồ, hãy thiết lập một .gitattributes riêng cho chúng, ví dụ: Tôi có các tệp Matlab với *.m eol=lf.

+0

Để xây dựng cho tổng newbies git như tôi: tệp "config" nằm trong thư mục .git. Trên Windows, thuộc tính "ẩn" của thư mục được đặt. –

4

tôi đã sử dụng theo cách này:

Các git config core.autocrlf lệnh được sử dụng để thay đổi cách xử lý Git kết thúc dòng. Phải mất một đối số duy nhất.

Trên Windows, bạn chỉ cần chuyển true vào cấu hình. Ví dụ:

$ git config --global core.autocrlf true  
# Configure Git on Windows to properly handle line endings 

Bạn cũng có thể cung cấp một lá cờ --global đặc biệt, mà làm cho Git sử dụng thiết lập tương tự cho kết thúc dòng trên mỗi kho Git địa phương trên máy tính của bạn.

Sau khi đã đặt tùy chọn và core.autocrlf phạm .gitattributes file, bạn có thể thấy rằng Git muốn commit những file mà bạn chưa sửa đổi. Tại thời điểm này, Git đang mong muốn thay đổi các kết thúc dòng của mỗi tệp cho bạn.

Cách tốt nhất để tự động cấu hình của kho lưu trữ của bạn kết thúc dòng là để sao lưu đầu tiên tập tin của bạn với Git, xóa tất cả các tập tin trong kho của bạn (trừ thư mục .git), và sau đó khôi phục các tập tin tất cả cùng một lúc . Lưu các tệp hiện tại của bạn vào Git, để không có tác phẩm nào của bạn bị mất.

$ git add . -u 
$ git commit -m "Saving files before refreshing line endings" 

Xóa mọi tệp khỏi chỉ mục của Git.

$ git rm --cached -r . 

Viết lại chỉ mục Git để nhận tất cả các kết thúc dòng mới.

$ git reset --hard 

Thêm tất cả các tệp đã thay đổi của bạn trở lại và chuẩn bị cho một cam kết. Điều này là cơ hội của bạn để kiểm tra các tập tin, nếu có, không thay đổi.

$ git add . 
# It is perfectly safe to see a lot of messages here that read 
# "warning: CRLF will be replaced by LF in file." 

Cam kết các thay đổi đối với kho lưu trữ của bạn.

$ git commit -m "Normalize all the line endings" 

nguồn: https://help.github.com/articles/dealing-with-line-endings/

0

Tôi cũng đang phát triển trên các cửa sổ và Bởi vì máy chủ của chúng tôi được cung cấp bởi Linux và tất cả các mã có căn cứ trên Linux Tôi đã ưa thích để thay đổi tất cả các file của tôi để LF thay vì CRLF.

từ dòng lệnh git:

git config --global core.autocrlf false 

tôi đang làm việc với ý tưởng IntelliJ vì vậy nó khá dễ dàng:

1) File -> Cài đặt -> editor -> mã phong cách : (đối với bất kỳ tệp mới nào sẽ được tạo)

a. Lược đồ: mặc định

b. Dấu tách dòng: unix và os x (\ n)

2) đánh dấu gốc của dự án -> tệp -> dấu tách dòng -> LF unix và os x (\ n) (đối với tệp tồn tại)

Lưu ý: bạn cũng có thể sử dụng các ứng dụng như dos2unix.exe hoặc một số tập lệnh khác.

hơn là tôi đã sử dụng dòng lệnh của tôi: (bạn có thể làm điều này cũng từ ý tưởng)

git commit -m "bla bla" 
git add . 
git push origin master 

từ đó, tôi đã không có những cảnh báo

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