Liệt kê tất cả các cam kết (trên tất cả các nhánh) cho một tệp nhất định


93

Câu hỏi này liên quan chặt chẽ đến Liệt kê tất cả các cam kết cho một tệp cụ thể tuy nhiên nó lại khác. Tôi muốn tìm hiểu xem cam kết nào, trên tất cả các nhánh , đã sửa đổi một tệp nhất định.

Để làm cho nó phức tạp hơn, tệp đã cho có thể có hoặc không trong cây làm việc.

Câu trả lời:


54

Bạn có thể sử dụng gitk

gitk --all <path to file> (you need to install gitk)

ví dụ

gitk --all -- /home/kit.ho/project/abc.txt


1
Tôi không biết tại sao câu trả lời của tôi bị phản đối, nhưng câu hỏi của bạn không cho rằng câu hỏi yêu cầu cụ thể về nhật ký trên tất cả các nhánh. Bạn chỉ đang đưa ra câu trả lời mà OP đã liên kết đến.
manojlds

2
Tôi không phải là một người ủng hộ, nhưng điều này cần một --allhoặc một cái gì đó tương tự để đi qua nhiều lịch sử hơn so với chi nhánh hiện tại.
wjl

Tại sao lại phản đối? Điều này hoạt động hoàn toàn tốt. Cả hai câu trả lời đều đúng. Một cái hoạt động cho bảng điều khiển văn bản, cái kia cho GUI gitk. Tôi có thể đánh dấu cả hai đúng không?
Saurabh Nanda

@Saurabh Nanda: Đánh dấu một trong những bạn nghĩ là hữu ích cho bạn.
Kit Ho

@saurabh - Câu trả lời này đã được chỉnh sửa. Kit Ho - Đề cập rằng bạn đang chỉnh sửa. Và làm cho nó trông như thể cả hai câu trả lời đều đúng.
manojlds

115

Thử cái này:

git log --all -- path

8
Nb. bạn có thể cần --full-historytùy chọn, tùy thuộc vào những gì bạn muốn xem chính xác: xem phần về đơn giản hóa lịch sử trong trang git-log hoặc gitrevisions.
Jakub Narębski

Chắc chắn là câu trả lời đúng, giả sử bạn không muốn sử dụng GUI.
Matt Setter

47

Dòng lệnh

Tôi thực sự khuyên bạn nên thêm tùy chọn đồ thị với git log:

git log --graph --all -- <filename>

git log --graph --all - <tên tệp>

Gui

Gitk là một công cụ khá cũ và không phải lúc nào cũng được cài đặt, tôi khuyên bạn nên sử dụng một công cụ miễn phí khác như SourceTree:

SourceTree


7
Làm thế nào để ghi một tệp và hiển thị đồ thị nhánh của nó trong SourceTree? Nhấp chuột phải vào tệp và chọn "Nhật ký đã chọn ..." không hiển thị lịch sử trên tất cả các nhánh.
aleung
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.