Computer >> Máy Tính >  >> Lập trình >> Lập trình

Git Pull

Lệnh git pull truy xuất và tải xuống nội dung của kho lưu trữ vào máy cục bộ của bạn. Kho lưu trữ cục bộ của bạn được cập nhật để nó hiển thị nội dung từ kho lưu trữ từ xa.

Có thể bạn sẽ gặp phải các tình huống mà bạn muốn tìm nạp và tải mã được liên kết với kho lưu trữ Git về máy cục bộ của mình.

Giả sử bạn đang làm việc trên một ứng dụng theo dõi đơn đặt hàng tại một cửa hàng tạp hóa địa phương. Khi thực hiện các thay đổi đối với ứng dụng, bạn sẽ muốn lấy mã từ kho lưu trữ từ xa. Điều này sẽ đảm bảo bạn luôn làm việc với mã cập nhật nhất.

Đó là nơi xuất hiện lệnh git pull. Lệnh git pull được sử dụng để truy xuất nội dung từ kho lưu trữ từ xa, sau đó được lưu vào máy cục bộ của bạn. Trong hướng dẫn này, chúng tôi sẽ thảo luận, với các ví dụ, khái niệm cơ bản về kéo mã bằng lệnh git pull.

Lệnh kéo Git là gì?

Thuật ngữ "kéo mã" mô tả quá trình tải xuống nội dung từ một kho lưu trữ từ xa và lưu nó vào máy tính của bạn.

Để kéo mã trong Git, bạn có thể sử dụng lệnh git pull. Lệnh git pull là một lệnh hữu ích thực thi hai lệnh khác:git fetch và git merge.

Hãy phân tích cách hoạt động của lệnh git pull.

Đầu tiên, khi bạn chạy git pull, kho lưu trữ từ xa bạn đang kéo sẽ được tải xuống. Một bản sao của mã từ kho lưu trữ và các cam kết Git được liên kết với kho lưu trữ sẽ được lưu vào máy của bạn.

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình đã dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

Sau đó, một hoạt động hợp nhất Git được thực hiện. Thao tác này kết hợp mã trên máy cục bộ của bạn với mã mới được truy xuất, tạo ra một phiên bản cuối cùng của cơ sở mã. Phiên bản này sẽ giống với phiên bản bạn đã lấy từ một chi nhánh từ xa.

Lệnh kéo Git

Lệnh git pull lấy một kho lưu trữ từ xa và tải mã của nó xuống phiên bản kho lưu trữ cục bộ của bạn. Hãy xem lệnh:

git pull <remote>

Tham số "từ xa" đề cập đến kho lưu trữ từ xa mà bạn muốn kéo vào máy cục bộ của mình. Khi bạn chạy lệnh này, kho lưu trữ từ xa sẽ được truy xuất sau đó được hợp nhất vào bản sao cục bộ của kho lưu trữ.

Lệnh git pull không ảnh hưởng đến các tệp chưa được theo dõi. Bạn sẽ chỉ nhận được những thay đổi đã được thực hiện đối với các tệp trên các nhánh từ xa đang được Git theo dõi. Những thay đổi này sẽ được lưu vào cây làm việc cục bộ của bạn.

git pull origin

Giả sử chúng ta muốn truy xuất nội dung của kho lưu trữ “origin” của chúng ta. Đây là giá trị "từ xa" mặc định được sử dụng với một kho lưu trữ. Chúng tôi có thể làm như vậy bằng cách kéo nhánh chính gốc:

git pull origin/master

Lệnh này trả về:

From https://github.com/jamesgallagher432/demo-repository
   b53b22d..a7d8dc2  master     -> origin/master
Updating b53b22d..a7d8dc2
Fast-forward
 README.md | 2 ++
 1 file changed, 2 insertions(+)

Đầu tiên, lệnh truy xuất kho lưu trữ từ xa mà chúng ta đang làm việc. Sau đó, những thay đổi được xác định sẽ được hợp nhất vào bản sao cục bộ của mã của chúng tôi.

Tệp README.md trong kho lưu trữ của chúng tôi khác với tệp trên máy cục bộ của chúng tôi. Khi chúng tôi chạy lệnh git pull, các thay đổi đã được xác định và hợp nhất vào máy cục bộ của chúng tôi.

Bây giờ chúng tôi đã chạy lệnh git pull, máy cục bộ của chúng tôi lưu trữ mã giống như kho lưu trữ từ xa của chúng tôi. Điều này có nghĩa là khi chúng tôi thực hiện các thay đổi đối với mã của mình, chúng tôi biết rằng chúng sẽ tương thích với phiên bản mới nhất của kho lưu trữ. Khi các cam kết mới được đẩy đến kho lưu trữ từ xa, chúng tôi có thể sử dụng lại git pull để nhận phiên bản cập nhật của kho lưu trữ.

Chúng tôi có thể kiểm tra xem các tệp của mình đã được cập nhật hay chưa bằng cách chạy lệnh git log. Lệnh này cho chúng ta thấy tất cả các cam kết đã được thực hiện đối với một kho lưu trữ.

Git Kéo nhánh Từ xa từ Kho lưu trữ

Giả sử bạn muốn lấy mã từ một nhánh cụ thể và lưu vào máy cục bộ của mình. Bạn sẽ làm việc với mã trên một nhánh có tên “dev-v0.9”. Bạn chỉ muốn lấy mã cho nhánh đó.

Bạn có thể làm như vậy bằng cách thực hiện lệnh git checkout, sau đó là lệnh git pull. Đây là cú pháp cho thao tác này:

git checkout <branch name>
git pull <remote>

Đối với ví dụ của chúng tôi, chúng tôi sẽ chạy các lệnh sau:

git checkout dev-v0.9
git pull origin

Khi chúng tôi chạy lệnh git checkout, chúng tôi sẽ được chuyển đến nhánh “dev-v0.9”. Lệnh git pull origin tạo ra một bản sao của mã trên nhánh “dev-v0.9” được truy xuất và lưu. Khi mã đã được tải xuống, thao tác hợp nhất git sẽ được thực hiện. Điều này sẽ cập nhật kho lưu trữ cục bộ của chúng tôi để nó hiển thị cùng mã với điều khiển từ xa của chúng tôi.

Lực kéo Git

Bạn có thể thực hiện thao tác kéo. Việc buộc kéo git thường gặp nếu bạn gặp phải lỗi tệp chưa được kiểm soát mà bạn muốn loại bỏ.

Trước khi thực hiện thao tác kéo, bạn nên đảm bảo rằng bạn cảm thấy thoải mái với việc mất bất kỳ thay đổi cục bộ nào. Buộc kéo sẽ ghi đè lên tất cả các thay đổi cục bộ của bạn.

Để bắt buộc kéo, trước tiên hãy tìm nạp siêu dữ liệu cho cam kết mà bạn muốn lưu vào máy cục bộ của mình:

git fetch --all

Tiếp theo, bạn nên sao lưu chi nhánh hiện tại của mình. Sao lưu chi nhánh hiện tại của bạn sẽ đảm bảo rằng bạn không mất bất kỳ thay đổi nào mà bạn có thể muốn quay lại sau:

git branch -b backup

Bây giờ chúng ta đã có một bản sao lưu của chi nhánh của mình, chúng ta có thể kéo các thay đổi của mình. Chúng tôi có thể thực hiện việc này bằng cách sử dụng lệnh đặt lại:

git reset --hard origin/master

Bạn nên thay thế origin / master bằng tên gốc và tên nhánh liên quan đến dự án mà bạn đang làm việc. Nguồn gốc đại diện cho kho lưu trữ nguồn gốc. Master là tên của nhánh mà chúng tôi đang tìm nạp mã của mình.

Đọc thêm về cách tạo lực kéo Git trong hướng dẫn kéo lực git của chúng tôi.

Git Pull so với Git Fetch

Cả git fetch và git pull đều truy xuất nội dung của một kho lưu trữ từ xa. Một số nhà phát triển nhầm lẫn với sự khác biệt giữa lệnh git pull và git fetch.

Lệnh git fetch chỉ lấy siêu dữ liệu từ kho lưu trữ từ xa. Siêu dữ liệu này được sử dụng để kiểm tra xem có bất kỳ thay đổi nào có thể được đưa vào máy cục bộ hay không. Lệnh git pull tải xuống cả siêu dữ liệu và các tệp đã được thay đổi.

Lệnh git pull đầu tiên thực hiện thao tác tìm nạp. Nếu các thay đổi được xác định giữa kho lưu trữ cục bộ và từ xa, những thay đổi đó sẽ được tải xuống.

Khi bạn đang sử dụng lệnh git pull, bạn nên đảm bảo rằng bạn đã sẵn sàng chấp nhận các thay đổi. Nếu không, kho lưu trữ của bạn có thể gặp xung đột giữa mã của bạn khi bạn bắt đầu thực hiện công việc của mình.

Tóm lại, sử dụng git fetch để kiểm tra xem có bất kỳ thay đổi nào tồn tại giữa kho lưu trữ cục bộ của bạn và điều khiển từ xa hay không. Sử dụng lệnh git pull nếu bạn muốn truy xuất siêu dữ liệu cho kho lưu trữ từ xa của mình và tải xuống bất kỳ thay đổi nào đã được thực hiện.

Kết luận

Lệnh git pull tìm nạp và tải xuống mã được lưu trữ trong kho lưu trữ Git từ xa. Lệnh git pull tương tự như git fetch. git fetch chỉ truy xuất siêu dữ liệu. git pull truy xuất siêu dữ liệu và các thay đổi được thực hiện đối với tệp trong kho lưu trữ.

Hướng dẫn này khám phá những điều cơ bản về kéo mã và cách sử dụng lệnh git pull để kéo mã. Giờ đây, bạn đã được trang bị kiến ​​thức cần thiết để bắt đầu sử dụng lệnh git pull như một nhà phát triển chuyên nghiệp!