Thuật ngữ pull được sử dụng để nhận dữ liệu từ GitHub. Nó tìm nạp(fetch) và kết hợp các thay đổi từ máy chủ từ xa vào thư mục làm việc của bạn. Lệnh git pull được sử dụng để kéo một kho lưu trữ.

Yêu cầu kéo(pull request)(Mọi người viết tắt là PR) là một quá trình để developer thông báo cho các thành viên trong nhóm rằng họ đã hoàn thành một tính năng. Khi nhánh tính năng của họ đã sẵn sàng, developer sẽ gửi PR thông qua tài khoản máy chủ từ xa của họ. PR thông báo cho tất cả các thành viên trong nhóm rằng họ cần xem lại code và hợp nhất nó vào nhánh chính.

Hình dưới đây minh họa cách kéo(pull) hoạt động giữa các vị trí khác nhau và cách nó tương tự hoặc không giống với các lệnh liên quan khác.

1. Lệnh “git pull”

Lệnh kéo được sử dụng để truy cập các thay đổi (commit) từ một kho lưu trữ từ xa đến kho lưu trữ cục bộ. Nó cập nhật các nhánh cục bộ với các nhánh theo dõi từ xa. Các nhánh theo dõi từ xa là các nhánh đã được thiết lập để đẩy và kéo từ kho lưu trữ từ xa. Nói chung, nó là một tập hợp các lệnh tìm nạp và hợp nhất. Đầu tiên, nó tìm nạp các thay đổi từ xa và kết hợp chúng với kho lưu trữ cục bộ.

Cú pháp của lệnh git pull được đưa ra dưới đây:

Cú pháp:

git pull  < option >  [ <  URL kho > < refspec > ...]  

Trong đó:

<option>: Tùy chọn là các lệnh; các lệnh này được sử dụng như một tùy chọn bổ sung trong một lệnh cụ thể. Các tùy chọn có thể là -q (yên tĩnh), -v (dài dòng), -e (chỉnh sửa) và hơn thế nữa.

<repository URL>: Repository URL là URL của kho lưu trữ từ xa của bạn nơi bạn đã lưu trữ các kho ban đầu của mình như GitHub hoặc bất kỳ dịch vụ git nào khác. URL này trông giống như:

  1. https://github.com/cafedevn/sample_git2.git  

Để truy cập URL này, hãy truy cập tài khoản của bạn trên GitHub và chọn kho lưu trữ bạn muốn sao chép. Sau đó, nhấp vào tùy chọn sao chép hoặc tải xuống từ menu kho lưu trữ. Một cửa sổ bật lên mới sẽ mở ra, chọn bản sao với tùy chọn https từ các tùy chọn có sẵn. Xem ảnh chụp màn hình bên dưới:

Sao chép URL được đánh dấu. URL này được sử dụng để sao chép kho lưu trữ.

<Refspec>: Tham chiếu đến commit, ví dụ, head (các nhánh), các thẻ và các nhánh từ xa. Bạn có thể kiểm tra head, tags và kho lưu trữ từ xa trong thư mục .git / ref trên kho lưu trữ cục bộ của bạn. Refspec chỉ định và cập nhật các ref.

Cách sử dụng pull:

Điều cần thiết là phải hiểu cách thức hoạt động và cách sử dụng nó. Hãy lấy một ví dụ để hiểu cách thức hoạt động và cách sử dụng nó. Giả sử tôi đã thêm một file mới nói design2.css trong kho lưu trữ từ xa của tôi về dự án sample git 2.

Để tạo file trước tiên, hãy chuyển đến tùy chọn tạo file được cung cấp trên các chức năng con của kho lưu trữ. Sau đó, chọn tên file và chỉnh sửa file theo ý muốn. Hãy xem xét hình ảnh dưới đây.

Đi đến cuối trang, chọn một thông báo commit và mô tả của file. Chọn xem bạn muốn tạo một nhánh mới hay commit trực tiếp trong nhánh test. Hãy xem xét hình ảnh dưới đây:

Bây giờ, chúng ta đã thực hiện thành công các thay đổi.

Để kéo những thay đổi này vào kho lưu trữ cục bộ của bạn, hãy thực hiện thao tác git pull trên kho lưu trữ nhân bản của bạn. Có nhiều tùy chọn cụ thể có sẵn cho lệnh pull. Chúng ta hãy xem xét một số cách sử dụng của nó.

 git pull mặc định:

Chúng ta có thể pull một kho lưu trữ từ xa bằng cách sử dụng lệnh git pull. Đó là một tùy chọn mặc định. Cú pháp của git pull được đưa ra dưới đây:

Cú pháp:

git pull  

Đầu ra:

Trong đầu ra đã cho, các đối tượng mới được cập nhật của kho lưu trữ được tìm nạp(fetch) thông qua lệnh git pull. Đây là phiên bản mặc định của lệnh git pull. Nó sẽ cập nhật file design2.css file mới được tạo và đối tượng liên quan trong kho lưu trữ cục bộ. Xem hình ảnh bên dưới.

Như bạn có thể thấy trong đầu ra ở trên, file design2.css được thêm vào kho lưu trữ cục bộ. Lệnh git pull tương đương với git fetch origin headgit merge head . Head được gọi là ref của nhánh hiện tại.

2. Git Pull Remote Branch

Git cho phép tìm nạp một nhánh cụ thể. Tìm nạp một nhánh từ xa là một quá trình tương tự, như đã đề cập ở trên, trong lệnh git pull . Sự khác biệt duy nhất là chúng ta phải sao chép URL của nhánh cụ thể mà chúng ta muốn kéo. Để làm như vậy, chúng ta sẽ chọn một nhánh cụ thể. Xem hình ảnh bên dưới:

Trong ảnh chụp màn hình ở trên, ta đã chọn nhánh của mình có tên là test để sao chép URL của nhánh đã chỉnh sửa. Bây giờ, ta sẽ lấy dữ liệu từ nhánh đã chỉnh sửa. Lệnh dưới đây được sử dụng để PULL một nhánh từ xa:

Cú pháp:

git pull  <  URL nhánh từ xa >  

Đầu ra:

Trong đầu ra ở trên, nhánh từ xa được chỉnh sửa đã sao chép.

3. ép(force) buộc pull

ép pull cho phép pull kho lưu trữ của bạn bằng bất kỳ giá nào. Giả sử tình huống dưới đây:

Nếu bạn đã cập nhật bất kỳ file nào cục bộ và các thành viên khác trong nhóm đã cập nhật file đó trên điều khiển từ xa. Vì vậy, khi nào bạn tìm nạp kho lưu trữ, nó có thể tạo ra xung đột.

Có thể nói force pull được sử dụng để ghi đè các file. Nếu chúng ta muốn loại bỏ tất cả các thay đổi trong kho lưu trữ cục bộ, thì chúng ta có thể ghi đè nó bằng cách kéo nó một cách có ảnh hưởng. Hãy xem xét quá trình dưới đây để buộc pull một kho lưu trữ:

Bước 1: Sử dụng lệnh git fetch để tải xuống các bản cập nhật mới nhất từ ​​điều khiển từ xa mà không cần hợp nhất hoặc khôi phục.

git fetch -all  

Bước 2: Sử dụng lệnh git reset để đặt lại nhánh chính với các bản cập nhật mà bạn đã tải xuống từ xa. Tùy chọn cứng được sử dụng để thay đổi bắt buộc tất cả các file trong kho lưu trữ cục bộ bằng kho lưu trữ từ xa.

git reset -hard  < remote > / < branch_name >  
git reset-hard master  

Hãy xem xét đầu ra dưới đây:

Trong kết quả đầu ra ở trên, tôi đã cập nhật file design2.css của mình và bắt buộc kéo nó vào kho lưu trữ.

4. Git Pull Origin Master

Có một cách khác để pull kho lưu trữ. Chúng ta có thể pull kho lưu trữ bằng cách sử dụng lệnh git pull . Cú pháp được đưa ra dưới đây:

git pull  < options > < remote > / < branchname >  
git pull origin master

Trong cú pháp trên, thuật ngữ origin là viết tắt của vị trí kho lưu trữ nơi đặt kho lưu trữ từ xa. Master được coi là nhánh chính của dự án.

Nó sẽ ghi đè dữ liệu hiện có của kho lưu trữ cục bộ bằng kho lưu trữ từ xa.

Bạn có thể kiểm tra vị trí từ xa của kho lưu trữ của mình. Để kiểm tra vị trí từ xa của kho lưu trữ, hãy sử dụng lệnh dưới đây:

git remote -v  

Lệnh đã cho sẽ dẫn đến một vị trí từ xa như sau:

  1. origin https://github.com/cafedevn/sample_git2.git (fetch)  
  2. origin https://github.com/cafedevn/sample_git2.git (push)  

Đầu ra hiển thị tìm nạp(fetch) và đẩy cả hai vị trí. Hãy xem xét hình ảnh dưới đây:

5. Yêu cầu kéo Git(Pull request – PR)

PR cho phép bạn thông báo một thay đổi do bạn thực hiện trong nhánh. Khi một PR được mở, bạn được phép trò chuyện và xem xét các thay đổi do người khác thực hiện. Nó cho phép xem xét các commit trước khi hợp nhất vào nhánh chính.

PR được tạo khi bạn commit thay đổi trong dự án GitHub và bạn muốn các thành viên khác xem xét. Bạn có thể commit các thay đổi vào một nhánh mới hoặc một nhánh hiện có.

Khi bạn đã tạo một PR, bạn có thể đẩy các commit từ nhánh của mình để thêm chúng vào PR hiện có của bạn.

6. Cách tạo PR

Để tạo một PR, bạn cần tạo một file và commit nó dưới dạng một nhánh mới. Như chúng ta đã đề cập trước đó trong chủ đề này, cách commit một file để sử dụng git pull. Chọn tùy chọn ” tạo một nhánh mới cho commit này và bắt đầu PR” từ cuối trang. Đặt tên của nhánh mới. ở đây cafedev đã chuẩn bị nhánh test.

Chọn tùy chọn tạo PR. Hãy xem xét hình ảnh dưới đây:

Bây giờ, PR được tạo bởi bạn. Mọi người có thể xem yêu cầu này. Họ có thể hợp nhất yêu cầu này với các nhánh khác bằng cách chọn một PR đã hợp nhất.

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:

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!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!