2012-01-20 34 views
5

Tôi đã đấu tranh với việc cố gắng dạy msysgit cách đối phó với tiếng umlauts của Đức (ä ö ü) trong ví dụ: cam kết nhận xét. Không may mắn .....Git và PowerShell và tiếng Đức umlauts

Vì vậy, tôi nghĩ tôi có thể thử sử dụng PowerShell và tích hợp git của nó thay vào đó (PoshGit). Nhưng một lần nữa - không may mắn:

D:\temp\test [ +12 ~0 -0 !]> git add --all 

D:\temp\test [ +12 ~0 -0]> git commit -m "Einige Dateien hinzugefügt" 
    Warning: commit message does not conform to UTF-8. 
    You may want to amend it after fixing the message, or set the config 
    variable i18n.commitencoding to the encoding your project uses. 
    [master (root-commit) 085b7d6] Einige Dateien hinzugef?gt 
    12 files changed, 3320 insertions(+), 0 deletions(-) 

("Einige Dateien hinzugefügt" = một số tập tin bổ sung)

Thú vị - tôi có thể có tuyên thệ nhậm chức rằng umlauts Đức là một phần của tiêu chuẩn UTF-8 ..... hmm ......

Và đủ chắc chắn:

D:\temp\test [master]> git log 

    085b7d6 (HEAD, master) Einige Dateien hinzugef<FC>gt [Marc Scheuner] [4 seconds ago] 

Không chuối: - (

LÀM THẾ NÀO ĐỂ TRÊN EARTH Tôi phải làm gì để nhận được msysgit ("Git bash") hoặc PowerShell hợp tác với Git trên các nhận xét cam kết? Tôi thậm chí không yêu cầu hỗ trợ tên tập tin với umlauts ... chỉ là ý kiến ​​(văn bản thuần túy) cho bây giờ .....

Ngoài ra: đặt này

[i18n] 
commitencoding = ISO-8859-1 
logoutputencoding = ISO-8859-1 

vào .gitconfig tôi cũng doesn' t dường như có bất kỳ tác trên cam kết ý kiến ​​và git log của tôi .... :-(

Bất kỳ ý tưởng? Suy nghĩ? Pointers ??

+0

Tại sao bạn không sử dụng trình chỉnh sửa để viết thư cam kết thay vì truyền chúng trên dòng lệnh? Hoặc chỉ cần làm như tôi và sử dụng thông điệp cam kết tiếng Anh: p – ThiefMaster

+0

@ThiefMaster: chúng tôi có chính sách sử dụng các nhận xét của Đức và thẳng thắn, tôi rất vui - những nhận xét "Engrish" sẽ thật kinh khủng ..... –

+1

Tôi hy vọng cho bạn, bạn cũng không phải sử dụng tên biến/hàm của Đức;) - Tuy nhiên, tôi chỉ đơn giản là bỏ qua '-m" ... "và để git khởi chạy trình soạn thảo. – ThiefMaster

Trả lời

1

Có trình cài đặt không chính thức cho thử nghiệm Unicode version of msysgit mà bạn có thể muốn thử. Phản hồi cho trình cài đặt đó được đánh giá cao trên danh sách gửi thư msysgit.

+1

Có vẻ thú vị - nhưng thật không may, không giải quyết được vấn đề của tôi - với bản dựng này, tôi thậm chí không thể nhập bất kỳ dấu âm nào - các phím trên bàn phím đơn giản là không hoạt động :-( –

1

có quirks tiếng và các vấn đề với MSysGit và unicode cũng như đơn giản ca hát. Thay vì phải vật lộn với điều này, nếu tôi ở trong giày của bạn, tôi sẽ sử dụng VritualBox với một hình ảnh máy chủ Linux nhỏ (không cần máy tính để bàn) và sử dụng thư mục được chia sẻ giữa máy chủ và hệ điều hành khách. Bằng cách này bạn có thể sử dụng Git trong Linux nhưng phát triển trên Windows. Mở một thiết bị đầu cuối để từ xa đến máy chủ và bạn có thể alt + TAB vào cửa sổ giống như bạn làm với MSysGit.

+2

Tôi nghĩ rằng git của Cygwin chơi đẹp và kém hơn một chút so với toàn bộ vm dành riêng cho việc kiểm soát nguồn chỉ –

+0

Máy ảo rất nhẹ ngày và tuổi của cpu và ram. Đừng giảm giá nó. Cygwin mang đến một tập hợp các vấn đề hoàn toàn mới. cũng có thể cắn đạn và đi với một vm. –

+0

Tính đến hôm nay, bạn cũng có thể sử dụng Ubuntu Bash của Windows 10, vì vậy bạn không cần máy ảo. Tôi thực sự không sử dụng git theo cách này, nhưng CVS (không hỏi), mà không hoạt động chính xác trên máy tính Windows của tôi. – sloth

1

Tôi gặp vấn đề tương tự (Tôi đến từ Thụy Điển). Có vẻ như nếu bạn sử dụng Git Extensions và cam kết thông qua các ký tự umlaut là tốt. Tôi sử dụng:

[i18n] 
commitencoding = windows-1252 
logoutputencoding = Windows-1252 
filesEncoding = Windows-1252 

Sẽ yêu một giải pháp cho vấn đề quyền hạn/dòng lệnh.

0

Kiểm tra charset của bạn mã hóa của bạn $ HOME/.gitconfig (trong Linux) hoặc% USERPROFILE% gitconfig \ (trong Windows) tập tin có chứa một cái gì đó như:.

[user] 
    name = Your Name 
... 

Tôi nghĩ rằng trong trường hợp của bạn tập tin này được mã hóa với ISO-8859-1 (Tên của bạn không chỉ chứa các ký tự ASCII) mà thiết lập dự án của bạn là dành cho UTF-8.

Tôi đã có tình huống tương tự ngày hôm qua và thay đổi bộ ký tự của tệp .gitconfig thành UTF-8 đã giải quyết được sự cố.

0

Tôi đã có cùng một vấn đề với git bằng cách sử dụng dòng lệnh thông qua PUTTY. Giải pháp của tôi là: Thay đổi PUTTY-cấu hình cho nhân vật thiết lập như đã mô tả ở đây: http://thegreyblog.blogspot.de/2009/08/configuring-putty-to-use-utf-8.html

Sau khi tôi đã thay đổi ký tự thiết lập trong cấu hình của PUTTY sang UTF-8 lỗi biến mất.

BTW: Giống như Miklos Krivan đã viết trong anwer của mình: Những người khác cũng gặp phải vấn đề này vì tên người dùng của họ có dấu trong .gitconfig.

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