2012-10-02 20 views
54

Khi đưa ra yêu thích xem git log của tôi, tôi đã tạo bí danh này:Làm thế nào để bắt chước màu sắc khác nhau git log --decorate của mỗi chi nhánh kiểu

graph = log --pretty=format:'%Cgreen%ad%Creset %C(yellow)%h%Creset%C(yellow)%d%Creset %s %C(cyan)[%an]%Creset %Cgreen(%ar)%Creset' --date=short --graph

này tạo ra một sản lượng như:

Git log result with own coloring

Điều tôi thiếu ở đây là màu khác nhau của các loại chi nhánh như trong log --oneline --decorate --graph.

Git log result with --decorate(=short)

Các --decorate (trong đó sử dụng = ngắn theo mặc định) cung cấp cho các ngành công nhận khác nhau một màu khác nhau. Các loại chi nhánh (HEAD, origin/master, origin/HEAD, master) là màu lục lam, đỏ, đỏ, xanh lục. Tuy nhiên, tôi không được nhuộm màu; chỉ màu vàng của toàn bộ nhánh cây.

Có cách nào để cung cấp các màu khác nhau cho các loại khác nhau loại của các chi nhánh có bí danh riêng không?

Trả lời

80

mỗi https://stackoverflow.com/a/16844346/55948

Tính đến git 1.8.3 (ngày 24 Tháng Năm năm 2013), bạn có thể sử dụng để trang trí %C(auto) %d trong chuỗi định dạng của git log.

Từ release notes:

* "git log --format" specifier learned %C(auto) token that tells Git 
    to use color when interpolating %d (decoration), %h (short commit 
    object name), etc. for terminal output.) 
+3

Tuyệt vời !!! Đã tìm kiếm điều này trong một vài giờ, cảm ơn !!! Đối với google, thêm một số từ khóa:% d, tên ref, --oneline – astgtciv

+2

Cảm ơn bạn vì điều này. Đá quý ẩn rất tốt! – Munter

+0

Thật không may, tôi bị kẹt với phiên bản 1.7.12.4 :(vì vậy% d và% C (tự động) sẽ không hoạt động. Trong khi% ad% an% h ... vv màu sắc có thể được xác định riêng lẻ, tôi đang có rắc rối với màu sắc cho các tên chi nhánh.Bất cứ ý tưởng mà các định dạng chuỗi cho * oneline * có thể được tìm thấy? – Radu

1

Tôi không tin điều này là có thể. Nhìn qua trang người dùng git-log(1), định dạng có liên quan duy nhất cho --pretty dường như là %d, cung cấp cho bạn tất cả tên ref. Vì không có bất kỳ tùy chọn nào phân biệt loại tham chiếu, bạn không thể cung cấp cho mỗi loại một màu khác nhau.

Xem thêm this question.

+1

Câu trả lời này không còn đúng nữa. Kể từ git 1.8.3 (ngày 24 tháng 5 năm 2013), bạn có thể sử dụng% C (tự động) để trang trí% d trong chuỗi định dạng của git log. –