2012-08-16 40 views
6

Tôi muốn biết cách thực hiện lệnh kéo từ repo dựa trên SHA?git pull dựa trên SHA

git pull origin master 

mã trên sẽ kéo chính khi chúng tôi đã thực hiện git add remote.

+0

Chính xác bạn muốn thực hiện điều gì? –

Trả lời

15

Một git pull thực hiện hai điều cho bạn:

  1. lấy một chi nhánh cụ thể từ các kho
  2. Kết hợp nó với chi nhánh hiện tại của bạn.

Có vẻ như những gì bạn muốn làm là nhận bản sửa đổi cụ thể từ kho lưu trữ và hợp nhất nó với chi nhánh hiện tại của bạn.

Cách tốt nhất để làm điều này là hai lệnh:

git fetch origin 
git merge YOUR_SHA_HERE 

Nếu những gì bạn muốn chỉ là để xem những gì trong một phiên bản cụ thể từ các kho lưu trữ và làm cho nó trở thành cây làm việc, nhưng không phải làm một hợp nhất, sau đó bạn sẽ muốn:

git fetch origin 
git checkout YOUR_SHA_HERE 

Nếu những gì bạn muốn là để có được phiên bản cụ thể, và làm cho nó trở thành "bậc thầy" mới (hoặc chi nhánh khác), sau đó bạn sẽ muốn chạy

git fetch origin 
git reset --hard YOUR_SHA_HERE 

Tất cả những điều này sẽ lấy mã mới từ kho lưu trữ (thông qua 'git fetch origin'), nhưng sau đó có nhiều cách khác nhau để kết hợp với/thay thế mã hiện tại của bạn.

5

Tôi không nghĩ rằng có một cách để kéo chỉ một phần của chi nhánh dựa trên SHA.

Có gì sai với:

git pull 
git reset --hard <sha>