2013-08-24 56 views
46

Trong Posh-Git, khi tôi chạy "trạng thái git" trong kho lưu trữ, màu sắc cho các thay đổi và tệp không được theo dõi có màu đỏ đậm, khi tôi cố gắng định cấu hình chúng là "bình thường "màu đỏ. Tôi muốn làm điều này bởi vì tôi có một giao diện điều khiển với một nền tối, vì vậy màu đỏ đậm là khó đọc.Thay đổi màu đầu ra "git status" trong Posh-Git

Tôi đã tìm kiếm xung quanh, và hình như vẫn có hai sự thay đổi cấu hình mà tôi cần thiết để thực hiện:

  1. Thay đổi "WorkingForegroundColor" và "UntrackedForegroundColor" từ "DarkRed" thành "đỏ" trong $ GitPromptSettings.

  2. Thay đổi "color.status.changed" và "color.status.untracked" thành màu đỏ trong cấu hình git.

Từ đọc của tôi, đó là tất cả những gì tôi cần làm, nhưng kết quả của "trạng thái git" vẫn còn màu đỏ đậm.

Dưới đây là một bản tóm tắt, để chứng minh tôi đặt chúng như tôi tuyên bố, và có lẽ ai đó có thể phát hiện ra các lỗi:

screenshot

+0

Bạn đã làm 2) như thế nào? – manojlds

+0

trình chỉnh sửa này là gì? – ridermansb

+0

Câu hỏi là chủ đề này, với màu sắc này như thế nào? – ridermansb

Trả lời

36

Chỉ có một cách để thay đổi DarkRed Red đây: sửa đổi màu sắc của cửa sổ bảng điều khiển. Theo như tôi biết git sẽ chọn "đầu tiên" màu đỏ trên danh sách (điều đó xảy ra là tối ...). Vì vậy, chỉ cần tăng giá trị R cho nó.

Bạn có thể thực hiện trực tiếp trên cửa sổ (Thuộc tính -> Màu) hoặc trong sổ đăng ký. Lời nhắc là câu chuyện khác: nó sử dụng tên màu PS, trong đó Red = Red, không phải DarkRed ...

+3

Điều này thật tuyệt. Tôi không biết rằng tập hợp các màu trong các thuộc tính là một bảng màu mà mọi thứ sẽ vẽ ra. –

+1

Tôi không nói dối, tôi khá hoài nghi về việc thay đổi Đỏ từ cửa sổ thuộc tính ... nhưng, hoàn toàn chính xác. Câu trả lời tuyệt vời =) – afreeland

+0

Hoạt động tuyệt vời! Làm việc cho Powershell là tốt nếu bạn đang sử dụng giao diện điều khiển tiêu chuẩn (không ISE). Và nó hoạt động cho cả trạng thái git và posh-git. Tôi chỉ cần đi đến Properties -> Colors, nhấp vào màu đỏ sẫm và thay đổi giá trị Red của nó thành 255. Làm việc tuyệt vời ngay bây giờ. Cảm ơn rất nhiều! – Tolga

4

Bạn có thể thay đổi chúng bằng cách sửa đổi nguồn của tệp GitPrompt.ps1 trong thư mục mô-đun posh-git PowerShell. Tôi đã cùng một vấn đề và chỉ cần loại bỏ các 'Dark' trong màu sắc xác định xung quanh dòng 30 trong tập tin này:

BeforeIndexForegroundColor= [ConsoleColor]::**Green** 
BeforeIndexBackgroundColor= $Host.UI.RawUI.BackgroundColor 

IndexForegroundColor  = [ConsoleColor]::**Green** 
IndexBackgroundColor  = $Host.UI.RawUI.BackgroundColor 

WorkingForegroundColor = [ConsoleColor]::**Red** 
WorkingBackgroundColor = $Host.UI.RawUI.BackgroundColor 

UntrackedText    = ' !' 
UntrackedForegroundColor = [ConsoleColor]::**Red** 

Danh sách này của Powershell colors cũng rất hữu ích.

+2

Điều này làm việc để thay đổi màu sắc trên dấu nhắc lệnh hiển thị trạng thái viết tắt (ví dụ: [master +1 ~ 0 -0 | +2 ~ 0 ~ 0]). Nhưng nó không thay đổi màu đầu ra bởi lệnh "git status". Đề xuất của BartekB cũng không thay đổi. –

+0

làm việc cho tôi ở cả hai địa điểm, nhưng chỉ sau khi nhận được phiên bản mới nhất của posh-git – ckapilla

8

Để thay đổi màu sắc của các tập tin untracked và sửa đổi niêm yết sang màu vàng dễ đọc hơn, bạn có thể thêm video này vào tập tin ~/.gitconfig của bạn:

Cũng cập nhật bạn GitPrompt.ps1 để hiển thị untracked màu vàng thì có lẽ là một ý tưởng hay:

UntrackedForegroundColor = [ConsoleColor]::Yellow 
    WorkingForegroundColor = [ConsoleColor]::Yellow 

Chỉnh sửa: GitPrompt.ps1 được tìm thấy trong thư mục PowerShell posh-git.

72

Đầu ra của git status được kiểm soát bởi tệp .gitconfig của bạn. Mặc định cho các tệp changeduntracked là mờ Red nhưng bạn có thể muốn Red Bold là màu đỏ (mặc định) sáng bạn có trong lời nhắc.

Thêm thông tin sau vào của bạn.tập tin gitconfig:

[color] 
    ui = true 
[color "status"] 
    changed = red bold 
    untracked = red bold 
    added = green bold 

Đối với bất cứ ai khác tham khảo này trong tương lai, các màu sắc được chấp nhận là normal, black, red, green, yellow, blue, magenta, cyan, và white cũng một modifier tùy chọn đơn bold, dim , ul, blink hoặc reverse. Nếu hai màu được đưa ra đầu tiên là tiền cảnh, và màu thứ hai là nền.

+1

Cảm ơn bạn - cuộc sống của tôi đã hoàn tất! Một lưu ý cho bất cứ ai có thể có vấn đề nhận được điều này để làm việc, nó đã không làm việc cho tôi cho đến khi tôi cài đặt một phiên bản mới hơn của posh-git. – ckapilla

+2

Tính năng này hoạt động đối với bất kỳ phiên bản git nào trên các cửa sổ, không chỉ là git. –

+1

Điều này hoạt động ngay cả trên PowerShell. 1 cho tăng năng suất của tôi. –

0

Ngoài câu trả lời @WarrenB. Để thay đổi màu sắc của tình trạng màu sắc của diff git (dòng mới và dòng loại bỏ), bạn cần phải có này trong .git/config file của bạn:

[color] 
ui = true 
[color "status"] 
changed = red bold 
untracked = red bold 
added = green bold 
[color "diff"] 
old = red bold 
new = green bold 

Các "diff" tùy chọn cho phép bạn màu đỏ và xanh lục đậm (sáng). Tham chiếu: https://git-scm.com/docs/git-config#git-config-colordiff