Git Fetch vs Pull: Sự khác biệt giữa lệnh Git Fetch và Git Pull là gì?

Git pullfetchlà hai lệnh được người dùng Git thường xuyên sử dụng. Hãy xem sự khác biệt giữa cả hai lệnh.

Vì lợi ích của ngữ cảnh, cần nhớ rằng chúng ta có thể đang làm việc trong một repo sao chép. Bản sao là gì? Nó chỉ đơn giản là một bản sao của một kho lưu trữ khác. Về cơ bản, nó là lấy bản sao mã nguồn của chính bạn.

Điều đó nói rằng, để giữ cho bản sao của bạn được cập nhật với bất kỳ thay đổi nào có thể đã được áp dụng cho bản gốc, bạn sẽ cần đưa những thay đổi đó vào bản sao của mình.

Đó là nơi fetchpullđến.

git fetch là lệnh yêu cầu git cục bộ của bạn truy xuất thông tin siêu dữ liệu mới nhất từ ​​bản gốc (nhưng không thực hiện bất kỳ quá trình chuyển tệp nào. Nó giống như chỉ kiểm tra xem có bất kỳ thay đổi nào khả dụng không).

git pull mặt khác AND đó mang (sao chép) những thay đổi đó từ kho lưu trữ từ xa.

Ví dụ:

git pull origin ankur bugfix

Bài học kinh nghiệm cần lưu ý là thường có ít nhất ba bản sao của một dự án trên máy trạm của bạn.

  • Một bản sao là kho lưu trữ của riêng bạn với lịch sử cam kết của riêng bạn (bản sao đã được lưu, có thể nói như vậy).
  • Bản sao thứ hai là bản sao làm việc của bạn nơi bạn đang chỉnh sửa và xây dựng (chưa được cam kết với repo của bạn).
  • Bản sao thứ ba là bản sao “được lưu trong bộ nhớ cache” cục bộ của một kho lưu trữ từ xa (có thể là bản gốc từ nơi bạn nhân bản của mình).

Bạn có thể sử dụng git fetchđể biết những thay đổi được thực hiện trong repo / chi nhánh từ xa kể từ lần kéo cuối cùng của bạn. Điều này rất hữu ích để cho phép kiểm tra trước khi thực hiện kéo thực tế, điều này có thể thay đổi các tệp trong nhánh và bản sao hiện tại của bạn (và có thể làm mất các thay đổi của bạn, v.v.).

git fetch git diff ...origin