Trong một thời gian, tôi đã sử dụng chức năng __git_ps1
trong dấu nhắc PS1 bash của tôi (với PS1='\w$(__git_ps1)'
). Bây giờ tôi muốn tô màu tùy thuộc vào trạng thái chi nhánh .Cách nhanh nhất để có được trạng thái git trong bash
Tôi đã viết một hàm bash để kiểm tra xem nhánh hiện tại có bị sửa đổi hay không, và màu đỏ hoặc trắng tùy thuộc vào trạng thái. Vấn đề là nó sử dụng git status
để kiểm tra trạng thái (đó là cách duy nhất tôi biết), và đó là một số lần chậm hơn __git_ps1
, đủ để gây ra sự chậm trễ gây phiền nhiễu khi Tôi đang sử dụng lời nhắc (tôi trên một chiếc netbook rất yếu).
Vì vậy, tôi hỏi: có cách nào nhanh hơn để kiểm tra trạng thái của thư mục git hiện tại không? __git_ps1
nhanh hơn rất nhiều so với phân tích cú pháp theo cách thủ công git branch
, vì vậy, tôi đang suy nghĩ có thể có một số chức năng git ẩn khác.
Để tự mình làm rõ: Bạn có muốn biết chi nhánh có các tệp không được theo dõi không? –
@PetervanderCó. Bất cứ điều gì sẽ được báo cáo bởi 'trạng thái git'. – Malabarba
Lưu ý: Git 2.6+ (Q3 2015) sẽ cải thiện điều này. Xem [câu trả lời của tôi dưới đây] (http://stackoverflow.com/a/32039972/6309) – VonC