2009-07-24 32 views
5

Tôi sử dụng lệnh git status để tìm hiểu những gì tôi đã thay đổi cục bộ trong thư mục làm việc git của mình. Nhưng có một "đối nghịch" của lệnh đó không?đối diện với lệnh 'git status'

Ý tôi là tôi muốn tìm hiểu những gì người khác đã đăng ký từ xa/chi nhánh theo dõi của tôi (Tôi không chắc liệu chi nhánh từ xa có giống như chi nhánh theo dõi hay không), nhưng những thay đổi này không có ở đây thư mục làm việc.

+2

Suy nghĩ đầu tiên của tôi là, "Bạn muốn biết * ít * về chi nhánh của bạn? Hãy thử cỏ dại hút thuốc hoặc một cái gì đó ..." –

Trả lời

10

Như đã đề cập trong câu hỏi "How to get the changes on a branch in git"

git log HEAD..branch 

có thể là những gì bạn đang tìm kiếm ở đây.

 x---y---z---branch 
     /
---a---b---c---d---e---HEAD 

Nó sẽ trả về x, y, z. Lưu ý: chỉ có hai dấu chấm, không phải ba dấu chấm ở đây: HEAD..branch.

Như đã đề cập trong câu hỏi này khác:

này giống hệt với git log branch --not HEAD, và có nghĩa là "tất cả các cam kết về chi nhánh mà không phải là trên HEAD"

Lưu ý: bạn cần một git fetch đầu tiên , để cập nhật bản sao cục bộ của một chi nhánh từ xa. Nếu không có điều đó, bạn sẽ không chọn bất kỳ sửa đổi mới nào trên nhánh từ xa.


Lưu ý: tracking branch là chi nhánh địa phương được kết nối với chi nhánh từ xa. Khi bạn đẩy và kéo nhánh đó, nó sẽ tự động đẩy và kéo đến nhánh từ xa mà nó được kết nối.

Khi bạn sao chép một kho lưu trữ, Git chỉ tạo một nhánh tương ứng với tổng thể của từ xa. Đối với mỗi nhánh khác tồn tại ở điều khiển từ xa mà bạn muốn làm việc cục bộ, bạn cần phải tạo một nhánh nội bộ để theo dõi nhánh từ xa.

Một miếng vá có thể là trong việc lập (tháng 6 năm 2009 cho patch proposition) để thêm vào git remote lệnh 'tracking' tùy chọn, với (đây không phải là một dứt khoát mô tả, nhưng vẫn là một công việc đang tiến)

git remote tracking <remote> <remote branch> 

sẽ hiển thị tất cả các chi nhánh địa phương theo dõi <remote branch>, và có <remote> như từ xa mặc định, trong khi

git remote tracking <local branch> 

sẽ hiển thị <remote><remote branch> nếu <local branch> đang theo dõi chi nhánh theo dõi từ xa.

Mặc dù vậy, tôi không thấy tính năng này trong upcoming Git1.6.4.

0

Dường như bạn đang tìm kiếm lệnh "git log" ..kiểm tra các trang man here

this câu hỏi trong SO cũng có thể giúp

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