Git: Liệt kê tất cả các thay đổi chưa hợp nhất trong git


125

Tạo một nhánh cho các chủ đề khác nhau và không thường xuyên xóa chúng khi tôi không cần nữa, giờ tôi đã có khoảng 50 nhánh;)

Tôi đã thử xóa các nhánh và một số trong số chúng có các thay đổi chưa được hợp nhất.

Những gì tôi muốn là khả năng xem chính xác những thay đổi nào có trong bất kỳ nhánh nào trên repo của tôi mà không có trong bản chính. Có cách nào làm được việc này không

Cảm ơn trước.

Câu trả lời:


223

Để liệt kê các nhánh có cam kết không được hợp nhất thành cái:

git branch --no-merged master

Để liệt kê các cam kết có liên quan:

git cherry -v master <branch>

6
"git branch --no-merge master" không hiển thị các chi nhánh ở xa - manh mối để xem chúng?
Peter Toft

23
Thêm -acờ để bao gồm các nhánh ở xa.
gawi

Nếu nó xuất hiện lỗi u, hãy thử thay thế masterbằng origincách ngược dòng.
CodeFarmer

2
lưu ý rằng các nhánh được hợp nhất bởi bí và hợp nhất sẽ vẫn hiển thị sự khác biệt, ngay cả khi không có.
Michael Scott Cuthbert

Thêm -atham số sẽ hiển thị các nhánh cục bộ và từ xa và với -rsẽ chỉ hiển thị các nhánh từ xa.
pafivi

26

Tôi đã gặp câu hỏi này khi cố gắng nhớ cú pháp của ...

git log <branch> --not master --stat

Điều này sẽ hiển thị các cam kết đối với <branch> chưa được hợp nhất với chính. --Stat sẽ bao gồm các tệp đã được thay đổi với các cam kết. Bạn cũng có thể sử dụng điều này để so sánh hai nhánh bất kỳ bằng cách thay thế cái chính bằng một tên nhánh khác.


-5

Khá dễ dàng để có được một cái nhìn tổng quan về các chi nhánh của bạn gitk.


11
Không nếu bạn có> 20 chi nhánh
Peter Toft
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.