git pull origin master
kéo nhánh chính từ xa được gọi là nguồn gốc vào nhánh hiện tại của bạn. Nó chỉ ảnh hưởng đến chi nhánh hiện tại của bạn, không ảnh hưởng đến chi nhánh chính tại địa phương của bạn.
Nó sẽ cung cấp cho bạn lịch sử tìm kiếm một cái gì đó như thế này:
- x - x - x - x (develop)
\ /
x - x - x (origin/master)
ngành thạc sĩ địa phương của bạn là không thích hợp trong việc này. git pull
về bản chất là sự kết hợp của git fetch
và git merge
; nó lấy nhánh từ xa rồi trộn nó vào nhánh hiện tại của bạn. Đó là một sự hợp nhất như bất kỳ thứ gì khác; nó không làm bất cứ điều gì huyền diệu.
Nếu bạn muốn cập nhật chi nhánh chính tại địa phương, bạn không còn cách nào khác ngoài kiểm tra. Không thể hợp nhất vào một chi nhánh không được kiểm tra, bởi vì Git cần một cây làm việc để thực hiện hợp nhất. (Đặc biệt, nó là hoàn toàn cần thiết để báo cáo xung đột hợp nhất và cho phép bạn giải quyết chúng.)
Nếu bạn tình cờ biết rằng việc kéo vào tổng thể sẽ tiến nhanh (tức là bạn không có cam kết trong tổng thể địa phương của bạn chi nhánh không có trong văn bản gốc) bạn có thể làm việc xung quanh, as described in this answer.
Bạn có thể đẩy vào chi nhánh không được kiểm tra tại địa phương nếu chi nhánh chuyển tiếp nhanh. Nhưng đó là một hack;) – knittl
@knittl: Đúng vậy! Đẩy là thanh lịch ở chỗ nó kiểm tra xem nó có thể chuyển tiếp nhanh cho bạn hay không. Tôi thích giải pháp 'update-ref' vì bạn có thể để lại dấu vết đúng trong các reflog, và tôi bị ám ảnh như thế. – mrj
@ e-satis: Khuyến khích người dùng mới bỏ phiếu cho các câu hỏi là tuyệt vời ... nhưng đáng trả lời và đáng được coi là không phải là điều tương tự. (Mặc dù câu hỏi của bạn là cả hai.) – Cascabel