2011-02-07 46 views
109

Tôi đã sao chép kho lưu trữ git vào máy chủ dev của mình rồi chuyển sang nhánh dev nhưng bây giờ tôi không thể thực hiện lệnh git pull để cập nhật chi nhánh.git - kéo từ chi nhánh cụ thể

Làm cách nào để cập nhật mã trên máy chủ?

Trả lời

151

Xem git-pull man page:

git pull [options] [<repository> [<refspec>...]]

và trong các ví dụ phần:

Merge vào chi nhánh hiện tại chi nhánh từ xa tiếp theo:

$ git pull origin next

Vì vậy, tôi tưởng tượng bạn muốn làm một cái gì đó như:

git pull origin dev 

Để thiết lập nó để nó thực hiện điều này theo mặc định khi bạn đang ở trên nhánh dev:

git branch --set-upstream-to dev origin/dev 
+2

"' cờ --set-upstream' bị phản đối và sẽ bị xóa. Hãy xem xét sử dụng '--track' hoặc' --set-thượng nguồn để Chi nhánh dev 'thiết lập để theo dõi dev chi nhánh từ xa." Ví dụ. 'git branch --set-upstream-to origin/dev' – Rao

14

Đó là thường rõ ràng hơn để tách hai hành động git pull. Điều đầu tiên nó làm là cập nhật branc theo dõi cục bộ tương ứng với nhánh từ xa. Điều này có thể được thực hiện với git fetch. Thứ hai là nó sau đó sáp nhập trong các thay đổi, mà tất nhiên có thể được thực hiện với git merge, mặc dù các tùy chọn khác như git rebase đôi khi hữu ích.

25

Đây là những gì bạn cần làm. Trước tiên hãy chắc chắn rằng bạn đang ở trong nhánh mà bạn không muốn kéo. Ví dụ, nếu bạn có master và phát triển branch, và bạn đang cố gắng pull branch phát triển thì hãy ở nhánh master.

git checkout master 

Sau đó,

git pull origin develop 
+0

Điều này rất khó hiểu. Nếu tôi muốn kéo nhánh "dev" từ xa vào nhánh "dev" cục bộ, tôi sẽ nghĩ rằng bạn cần ở lại nhánh "dev" cục bộ chứ không phải nhánh nào khác. – Roman

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