“tìm nạp”(fetch) tải xuống các commit, đối tượng và tham chiếu từ một kho lưu trữ khác. Nó tìm nạp các nhánh và thẻ từ một hoặc nhiều kho. Nó chứa các kho lưu trữ cùng với các đối tượng cần thiết để hoàn thành lịch sử của chúng để cập nhật các nhánh theo dõi từ xa.
Nội dung chính
1. Lệnh “git fetch”
Các lệnh” git fetch ” được sử dụng để pull các bản cập nhật từ các nhánh từ xa. Ngoài ra, chúng ta có thể nhận các bản cập nhật đã được đẩy đến các chi nhánh từ xa của chúng ta đến các máy cục bộ của chúng ta. Như chúng ta đã biết, một nhánh là một biến thể của code chính kho lưu trữ của chúng ta, vì vậy, các nhánh theo dõi từ xa là các nhánh đã được thiết lập để kéo(pull) và đẩy(push) từ kho lưu trữ từ xa.
2. Cách tìm nạp Kho lưu trữ Git
Chúng ta có thể sử dụng lệnh tìm nạp(fetch) với nhiều đối số cho một lần tìm nạp(fetch) dữ liệu cụ thể. Xem các tình huống dưới đây để hiểu cách sử dụng của lệnh tìm nạp(fetch).
Tình huống 1: Để tìm nạp(fetch) kho lưu trữ từ xa:
Chúng ta có thể tìm nạp(fetch) toàn bộ kho lưu trữ với sự trợ giúp của lệnh tìm nạp(fetch) từ URL kho lưu trữ giống như lệnh pull. Xem kết quả bên dưới:
Cú pháp:
git fetch <repository Url>
Đầu ra:
Trong đầu ra ở trên, kho lưu trữ hoàn chỉnh đã được tìm nạp từ một URL từ xa.
Tình huống 2: Để tìm nạp một nhánh cụ thể:
Chúng ta có thể tìm nạp một nhánh cụ thể từ một kho lưu trữ. Nó sẽ chỉ truy cập phần tử một nhánh cụ thể. Xem kết quả bên dưới:
Cú pháp:
git fetch <URL nhánh> <tên nhánh>
Đầu ra:
Trong đầu ra đã cho, kiểm tra nhánh cụ thể đã được fetch từ một URL từ xa.
Tình huống 3: Để tìm nạp(fetch) tất cả các nhánh đồng thời:
Lệnh git fetch cho phép tìm nạp tất cả các nhánh đồng thời từ một kho lưu trữ từ xa. Xem ví dụ dưới đây:
Cú pháp:
git fetch -all
Đầu ra:
Trong đầu ra ở trên, tất cả các nhánh đã được tìm nạp(fetch) từ kho lưu trữ Git-Example.
Tình huống 4: Để đồng bộ hóa kho lưu trữ cục bộ:
Giả sử, thành viên trong nhóm của bạn đã thêm một số tính năng mới vào kho lưu trữ từ xa của bạn. Vì vậy, để thêm các bản cập nhật này vào kho lưu trữ cục bộ của bạn, hãy sử dụng lệnh git fetch. Nó được sử dụng như sau.
Cú pháp:
git fetch -all
Khi chạy lệnh trên, các tính năng mới của kho lưu trữ từ xa đã cập nhật vào hệ thống cục bộ của bạn.
Tìm nạp(fetch) git có thể tìm nạp(fetch) từ một kho lưu trữ hoặc URL được đặt tên hoặc từ một số kho lưu trữ cùng một lúc. Nó có thể được coi là phiên bản an toàn của các lệnh git pull.
Tìm nạp(fetch) tải xuống nội dung từ xa nhưng không cập nhật trạng thái hoạt động của kho lưu trữ cục bộ của bạn. Khi không có máy chủ từ xa nào được chỉ định, theo mặc định, nó sẽ tìm nạp(fetch) từ gốc(orgin).
3. Sự khác biệt giữa git fetch và git pull
Để hiểu sự khác biệt giữa tìm nạp(fetch) và kéo(pull), chúng ta hãy biết điểm tương đồng giữa cả hai lệnh này. Cả hai lệnh đều được sử dụng để tải xuống dữ liệu từ kho lưu trữ từ xa. Nhưng cả hai lệnh này hoạt động khác nhau. Giống như khi bạn thực hiện git pull, nó nhận tất cả các thay đổi từ kho lưu trữ từ xa hoặc trung tâm và cung cấp nó cho nhánh tương ứng của bạn trong kho lưu trữ cục bộ của bạn. Khi bạn thực hiện tìm nạp git, nó sẽ tìm nạp(fetch) tất cả các thay đổi từ kho lưu trữ từ xa và lưu trữ nó trong một nhánh riêng trong kho lưu trữ cục bộ của bạn. Bạn có thể phản ánh những thay đổi đó trong các nhánh tương ứng của mình bằng cách hợp nhất.
Về cơ bản:
git pull = git fetch + git merge
Git Fetch so với Pull
Một số khác biệt chính giữa cả hai lệnh này như sau:
git fetch | git pull |
Tìm nạp(fetch) chỉ tải xuống dữ liệu mới từ kho lưu trữ từ xa. | Pull được sử dụng để cập nhật nhánh HEAD hiện tại của bạn với những thay đổi mới nhất từ máy chủ từ xa. |
Tìm nạp được sử dụng để có một cái nhìn mới về tất cả những điều đã xảy ra trong một kho lưu trữ từ xa. | Kéo(pull) tải xuống dữ liệu mới và tích hợp trực tiếp vào các file bản sao đang hoạt động hiện tại của bạn. |
Tìm nạp không bao giờ thao túng hoặc làm hỏng dữ liệu. | Kéo tải dữ liệu xuống và tích hợp nó với file làm việc hiện tại. |
Nó bảo vệ mã của bạn khỏi xung đột hợp nhất. | Trong git pull, có nhiều cơ hội hơn để tạo ra xung đột hợp nhất . |
Tốt hơn là sử dụng lệnh tìm nạp git với lệnh hợp nhất git trên một kho lưu trữ được kéo. | Nó không phải là một lựa chọn tuyệt vời để sử dụng git pull nếu bạn đã kéo(pull) bất kỳ kho lưu trữ nào. |
Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.
Tài liệu từ cafedev:
- Full series tự học Git từ cơ bản tới nâng cao tại đây nha.
- Ebook về Git tại đây.
- Các series tự học lập trình MIỄN PHÍ khác
- Nơi liên hệ hợp tác hoặc quảng cáo cùng Cafedevn tại đây.
- Giới thiệu chi tiết về Cafedev
Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:
Chào thân ái và quyết thắng!