2011-12-13 37 views
12

Đưa ra một tập tin xung đột foo.txt, cách nói git diff để hiển thị thay đổi giữa phiên bản cơ sở của tệp và phiên bản "của họ" của tệp?Git so sánh phiên bản "cơ sở" với phiên bản "của họ" của một tệp bị xung đột?

Tôi có thể xem từng phiên bản qua git show :1:foo.txt hoặc git show:3:foo.txt - có cách nào đơn giản để so sánh hai phiên bản không?

+1

Liên kết này cho thấy làm thế nào để xem các bản vá mà thất bại: http://stackoverflow.com/questions/2118364/Làm thế nào để nhận diện-xung đột-cam kết-by-băm-trong-git-rebase --ie, nó giải thích làm thế nào để xem "của họ" vá. – Eddified

Trả lời

14

git diff :1:foo.txt :3:foo.txt

+0

git phải giới thiệu cú pháp này ở đâu đó giữa hôm nay và thời gian tôi đã đặt câu hỏi, cảm ơn vì tin tốt :) –

+0

Cú pháp này đã có sẵn trong nhiều năm. Chỉ cần chắc chắn tôi đã thử nó trong một phiên bản khá cổ (1.5.5) từ tháng 4 năm 2008 và nó chắc chắn hoạt động. :) – jsageryd

+0

Tôi thề tôi đã thử điều đó, vì vậy hoặc là tôi đã thực hiện một số lỗi đánh máy ngu ngốc hoặc nó đã bị hỏng trong một phiên bản cụ thể. Tôi đoán tôi sẽ không bao giờ biết :) –

1

Chỉ cần nhập git diff và nó sẽ chỉ hiển thị các xung đột.

Đọc thêm: Advanced Merging

Thông báo các --base--theirs lập luận cho diff

+0

Tôi chỉ muốn xem các thay đổi "của họ". Khi các khối lớn thì rất khó để suy ra rằng từ đầu ra của 'git diff' một mình. –

+0

Nếu bạn thấy khó có thể thấy bạn có thể muốn sử dụng 'git difftool' và sau đó chọn diff ui ưa thích của bạn, ví dụ meld. –

+0

Cảm ơn, tôi biết điều này (và cũng là tùy chọn kiểu xung đột diff3). Tôi chỉ tìm kiếm một cách nhanh chóng để xem các thay đổi "của họ" trên một tệp. –

Các vấn đề liên quan