Đây là nguồn của thông báo lỗi:
$ git log %ad
fatal: ambiguous argument '%ad': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
Bạn sẽ nhận được thông báo lỗi tương tự từ hai lệnh sau:
$ git log --pretty=format:%h %ad | %s%d [%an] --graph --date=short
$ git log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short
Vấn đề là git log
nhận được hai đối số sau: --pretty=format:%h
(hoặc --pretty=format:\"%h
) và %ad
. Phần còn lại, ít nhất là khi được thực thi trực tiếp như một lệnh trong bash, là một đường ống dẫn đến lệnh %s%d
, thường không tồn tại. Do đó, thông báo lỗi đầy đủ trên hệ thống của tôi trông như thế này:
$ git log --pretty=format:%h %ad | %s%d [%an] --graph --date=short
bash: %s%d: command not found
fatal: ambiguous argument '%ad': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
Tất cả điều này chứng tỏ rằng trích dẫn bằng cách nào đó đã bị mất và %ad
được hiểu là một tham số cho nhật ký git. Để ngăn chặn điều đó, bạn phải tìm sự kết hợp chính xác của trích dẫn và thoát để chuỗi định dạng được trích dẫn chính xác tại thời điểm thực hiện.
Hướng dẫn cấu hình git về bí danh và trích dẫn:
Các đối số được phân chia theo khoảng trắng, trích dẫn và thoát vỏ thông thường được hỗ trợ. trích dẫn cặp và dấu gạch chéo ngược có thể được sử dụng để trích dẫn chúng.
Từ dòng này, tôi không thể tìm ra cách trích dẫn và thoát khỏi hoạt động. Tôi đã thử một số kết hợp trích dẫn và thoát trong bí danh nhưng không thể hiểu ý nghĩa của nó.
Các dòng sau bạn đăng trong câu hỏi của bạn hoạt động tốt trên hệ thống của tôi:
[alias]
hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short
Bạn sẽ phải thử nghiệm để có được sự kết hợp đúng trên hệ thống của bạn trong khi sử dụng PuTTY và tất cả.