Trong GitHub, có cách nào để xem tất cả các cam kết (gần đây) trên tất cả các nhánh không?


82

Trong GitHub, có cách nào để xem tất cả các cam kết gần đây trên tất cả các nhánh. Tốt nhất là theo thứ tự thời gian ngược lại.

Có lẽ tôi là người rình mò, nhưng tôi muốn có thể xem những gì các nhà phát triển của tôi đã làm gần đây, ít nhất là về cam kết đối với kho lưu trữ trên github. Cho đến nay cái gần nhất tôi đã thấy là biểu đồ mạng, chắc chắn rất hữu ích.


1
Tôi thấy rằng SourceTree cho tôi thấy những gì tôi muốn một cách dễ hiểu.
Theodore Norvell

7
Đối với giải pháp không phải git, hãy truy cập github.com/username/reponame/commits . Ví dụ: github.com/tanyagupta/mws-restaurant-stage-1/commits
Tanya Gupta

1
@TanyaGupta Tôi nghĩ rằng điều đó chỉ hiển thị các cam kết trên một nhánh tại một thời điểm.
Theodore Norvell

1
chính xác. Vì nó không phải là một câu trả lời hoàn chỉnh nên tôi đã đăng nó như một bình luận trong trường hợp nó hữu ích cho những người khác như nó đã dành cho tôi.
Tanya Gupta

Câu trả lời:


94

Đây là một tính năng cũ của GitHub nhưng không thực sự trực quan.

Sử dụng trang web GitHub:

  1. Nhấp vào một dự án
  2. Nhấp vào tab 'Thông tin chi tiết' (được di chuyển bên trong menu Thịt viên)
  3. Nhấp vào 'Mạng'
  4. Nhấp vào 'nút / vòng kết nối' cho mỗi cam kết để đi đến cam kết đó.

Sơ đồ bên dưới. nhập mô tả hình ảnh ở đây Sơ đồ hiển thị tất cả các cam kết trong một dự án GitHub

Ngoài ra, bạn có thể kéo sang trái để xem tất cả các cam kết trong suốt thời gian cho tất cả các nhánh và nhánh.


1
Cảm ơn. Tôi đã đề cập đến đồ thị mạng trong OP của mình. Tuy nhiên, đây có vẻ là câu trả lời chính xác, Như tôi đã nhận xét ở nơi khác, tôi thường sử dụng trực quan hóa mạng của sourcetree để có cái nhìn tổng quan về hoạt động.
Theodore Norvell

Oh tôi thấy bạn đã làm. Tôi đã bỏ lỡ nó. Cảm ơn bạn đã chấp nhận câu trả lời của tôi không bao giờ-ít hơn! :)
John De Chung

2
Họ thực sự cần thêm xem tất cả các cam kết chi nhánh như một tùy chọn vào trang danh sách cam kết. Tìm kiếm 1 pixel trên biểu đồ đó là một cách khủng khiếp để xem những gì đang diễn ra trong git repo. Nó không thực sự là một giải pháp.
Scott

1
@punitcse. Không chắc chắn - hãy thử stackoverflow.com/questions/2016901/… ?
John De Chung

1
NB Kể từ đầu năm 2019, tùy chọn Mạng, cũng như hầu hết các tùy chọn Thông tin chi tiết khác, không có sẵn cho các kho lưu trữ riêng tư của các tài khoản miễn phí. Bạn phải đặt repo ở chế độ công khai hoặc nâng cấp lên GitHub Pro
DiegoDD

30

Kể từ ngày hôm nay 2020-09-16 và nói với tư cách là một người không may phải sử dụng GitHub cho một dự án, khi tôi luôn sử dụng GitLab đáng yêu, cuối cùng tôi đã tìm thấy nó.

Nhấp vào "Mã" (tab ngoài cùng bên trái) trên trang chính của kho lưu trữ. Dưới 4 nút đó ("chính", "Tới tệp", "Thêm tệp", "Mã") có một hình chữ nhật màu xanh. Ở cuối bên phải đó là biểu tượng đồng hồ và một con số. Nếu khung nhìn của trình duyệt của bạn đủ rộng, nó thậm chí còn bao gồm (rào cản) từ "cam kết". Đây là một liên kết. Click và THƯỞNG THỨC !!!

NB URL của trang này giống như sau: https://github.com/myProfile/myRepo/commits/master

Ảnh chụp màn hình ví dụ


3
Cảm ơn vì đã tìm thấy điều này! Đây chắc chắn là câu trả lời đúng. Liên kết Cam kết có cảm giác rất ẩn trong tầm nhìn rõ ràng và thực sự nên hiển thị với các nút chính khác (chính, Đi tới tệp, v.v.). Nếu bạn gặp khó khăn khi tìm nó, hãy ctrl + f cho "commit" trên tab "Code".
Mykaelos

2
Tôi không nghĩ rằng điều này cho thấy tất cả các cam kết. Tôi nghĩ rằng nó chỉ hiển thị các cam kết là tổ tiên của cam kết trên nhánh chủ.
Theodore Norvell

@TheodoreNorvell chỉ để kiểm tra điều này, tôi đã tạo một nhánh mới ... trên trang hiển thị các cam kết (ban đầu của chính) có một hộp chọn hình chữ nhật / thả xuống nhỏ ở trên cùng bên trái: bạn chỉ cần chọn nhánh quan tâm và nó hiển thị DAG theo góc nhìn từ nhánh đó ... dù sao đó là kinh nghiệm của tôi. URL sau đó là github.com/myProfile/myRepo/commits/my_other_branch
mike gặm nhấm

Cảm ơn. Điều đó rất hữu ích. Đó vẫn là một chế độ xem hiển thị tất cả các cam kết gần đây bất kể nhánh nào.
Theodore Norvell

"... vẫn còn thiếu một ..."? Đúng, tệ của tôi: Tôi đã không đọc kỹ câu hỏi cụ thể của bạn. Có thể hỏi khá nhiều từ GitHub - tôi nghĩ bạn phải làm điều đó (sau khi nhân bản, v.v.) từ CLI: stackoverflow.com/q/10349302/595305 (và bỏ qua công --authortắc)
mike gặm nhấm

7

Giao diện người dùng trong GitHub hiện không hỗ trợ cách để xem cam kết của bạn trong một nhánh từ tab mã. Tuy nhiên, tôi quan sát thấy rằng khi tôi chọn một chi nhánh từ trình đơn thả xuống của bộ chọn chi nhánh, tôi thấy URL sau:

// This shows me all commits from all users in the branch called "2.2-stable"
https://github.com/jquery/jquery/commits/2.2-stable

Nếu tôi nhấp vào tên người dùng trong danh sách cam kết, tôi sẽ thấy URL sau:

//This shows me the list of commits from the user "mgol" in the master branch (default branch)
https://github.com/jquery/jquery/commits?author=mgol

Vì vậy, tôi tự nghĩ, tại sao không thử thêm chuỗi truy vấn ?author=mgolvào URL hiển thị các cam kết trên một nhánh cụ thể:

Giải pháp:

// Show me the list of commits from the user "mgol" on the branch called "2.2-stable"
https://github.com/jquery/jquery/commits/2.2-stable?author=mgol

Một lần nữa, giao diện người dùng không có nút nào cho phép bạn xem chế độ xem này (theo hiểu biết tốt nhất của tôi) nhưng bạn có thể thao tác chuỗi truy vấn để chỉ lọc những gì bạn muốn xem.


2

Xem tại đây: Github API: Lấy tất cả các cam kết cho tất cả các nhánh cho một repo, đây là tùy chọn duy nhất. Trên trang web, bạn chỉ có thể thấy các cam kết cụ thể của chi nhánh - bạn cần phải chuyển đổi thủ công giữa chúng. Bitbucket cho phép xem tất cả các cam kết trên tất cả các chi nhánh.


1
Cảm ơn. Tôi đã hy vọng một cách tiếp cận không phảiAPI. api.github.com/repos/UNAME/PROJECT/commits dường như trả lại thông tin tôi đang tìm kiếm trong JSON. Tôi đoán tôi có thể tự mình biến nó thành HTML.
Theodore Norvell

1
Kinda khập khiễng nó không có trong GitHub theo mặc định.
ptkato

2

Tôi đoán không có bất kỳ nút nào hiển thị cho bạn một danh sách đầy đủ các cam kết. Nếu bạn muốn liệt kê tất cả các cam kết trong một repo, bạn có thể duyệt qua URL sau:

https://github.com/username/repository/commits

Thêm từ commits(ở số nhiều) vào cuối URL repo, bạn có thể xem danh sách các cam kết.

Theo tùy chọn, bạn có thể thêm một số chuỗi truy vấn để thu hẹp kết quả trong danh sách. Ví dụ:

https://github.com/username/repository/commits?author=johndoe

điều này sẽ chỉ cung cấp cho bạn các cam kết trên nhánh chính, không phải tất cả các cam kết
dWitty

@dWitty: Bạn có thể nhận được cam kết trên các nhánh khác bằng cách thêm /<branch-name>vào cuối URL. Tuy nhiên, tôi đoán bạn chỉ có thể nhìn thấy một nhánh tại thời điểm đó.
Lii

1

Theo cách tôi thiết lập repos của mình, mỗi nhà phát triển có một tài khoản user.git. Tôi khuyên bạn nên làm như sau:

git fetch --all

Tìm nạp này cập nhật tất cả các bản sao cục bộ của các chi nhánh từ xa nhưng không tạo ra các chi nhánh cục bộ mới của các chi nhánh từ xa theo dõi này. Nếu bạn có các chi nhánh địa phương trong số tất cả các chi nhánh của nhà phát triển, bạn sẽ muốn chạy:

git pull --all

Vì vậy, những gì bạn cần làm là git fetch --all và sau đó git pull --all . Tôi hi vọng cái này giúp được.

Cuối cùng, bạn cũng có thể thực hiện cập nhật git từ xa giống như git fetch --all


Nó thật thú vị. Cảm ơn.
Theodore Norvell
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.