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

Git:Kéo tất cả các nhánh

Git cho phép bạn duy trì nhiều dòng phát triển riêng biệt cho một dự án. Các đường phát triển này được gọi là các nhánh. Bạn có thể truy xuất phiên bản mới nhất của một nhánh từ kho lưu trữ từ xa một cách độc lập hoặc bạn có thể truy xuất phiên bản mới nhất của tất cả các nhánh cùng một lúc.

Trong hướng dẫn này, chúng ta nói về cách sử dụng lệnh git fetch –all và git pull –all để truy xuất các thay đổi từ kho lưu trữ từ xa.

Phân nhánh là gì?

Giả sử chúng tôi đang làm việc trên một trang web blog. Chúng tôi sẽ thêm một tính năng vào blog cho phép người dùng nhận xét. Chúng tôi không muốn tính năng này là một phần của phiên bản chính trong dự án của mình vì chúng tôi vẫn đang làm việc trên đó.

Chúng ta có thể sử dụng một nhánh Git cho việc này. Chúng tôi có thể tạo một nhánh có tên là “bình luận” để lưu trữ tất cả mã cho tính năng bình luận của chúng tôi. Điều này sẽ cho phép chúng tôi làm việc trên tính năng bình luận của mình mà không thay đổi phiên bản chính của cơ sở mã của chúng tôi được triển khai trên một trang web.

Các nhánh có thể được lưu trữ cục bộ hoặc từ xa. Nếu bạn đang làm việc trên phiên bản cục bộ của một dự án, một nhánh sẽ là cục bộ. Các nhánh từ xa được lưu trữ với phiên bản chính của dự án.

Git:Tìm nạp tất cả các nhánh

Chúng tôi đang làm việc trên một dự án có tên là blog-site. Dự án này chứa hai nhánh:origin master và origin dev.

Nhánh nhà phát triển chứa tất cả các tính năng thử nghiệm mà chúng tôi đang làm việc. Chúng tôi nghĩ rằng một cộng tác viên khác đã thúc đẩy các thay đổi cho cả hai chi nhánh. Chúng tôi muốn đảm bảo và truy xuất siêu dữ liệu cho bất kỳ thay đổi nào nếu chúng đã được thực hiện.

Chúng ta có thể làm điều này bằng cách sử dụng lệnh tìm nạp. Lệnh tìm nạp yêu cầu Git truy xuất siêu dữ liệu từ một chi nhánh từ xa trên các bản cập nhật mới nhất. Lệnh tìm nạp không cập nhật các tệp được lưu trữ trong phiên bản cục bộ của kho lưu trữ.

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ọ.

Để theo dõi tất cả các nhánh từ xa và tìm nạp siêu dữ liệu cho các nhánh đó, chúng ta có thể sử dụng lệnh git fetch với cờ –all:

git fetch --all

Lệnh này trả về:

Fetching origin
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/career-karma-tutorials/blog-site
   3fcea0c..da74d68  dev    	-> origin/dev

Lệnh tìm nạp đã tìm nạp tất cả các thay đổi mà chúng tôi đã thực hiện đối với kho lưu trữ từ xa của mình. Lệnh tìm nạp biết chi nhánh nhà phát triển từ xa của chúng tôi chứa các thay đổi mà chúng tôi không có trên máy cục bộ của mình. Chúng tôi vừa truy xuất siêu dữ liệu cho những cam kết đó.

Chúng tôi có thể truy xuất siêu dữ liệu cho một nhánh riêng lẻ bằng cách sử dụng nguồn gốc tìm nạp git <branch-name> lệnh.

Git:Kéo tất cả các nhánh

Điều gì xảy ra nếu bạn muốn cập nhật bản sao làm việc cục bộ của mình cũng như truy xuất siêu dữ liệu? Đó là lúc lệnh git pull trở nên hữu ích.

Bây giờ chúng tôi biết rằng các thay đổi đã được thực hiện đối với kho lưu trữ của chúng tôi. Chúng tôi rất vui khi hợp nhất những thay đổi này với kho lưu trữ cục bộ của chúng tôi. Để tải xuống các thay đổi cho máy cục bộ của chúng tôi, chúng tôi cần sử dụng lệnh git pull:

git pull --all

Chúng tôi đã sử dụng cờ –tất cả để cho biết rằng chúng tôi muốn truy xuất các thay đổi từ mọi nhánh. Lệnh của chúng tôi trả về:

Fetching origin
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/career-karma-tutorials/blog-site
   3fcea0c..da74d68  dev    	-> origin/dev
Updating 3fcea0c..da74d68
Fast-forward
 README.md | 1 +
 1 file changed, 1 insertion(+)

Lệnh git pull đầu tiên chạy lệnh git fetch để kiểm tra các thay đổi. Thao tác tìm nạp trả về siêu dữ liệu cho các cam kết của chúng tôi. Sau đó, lệnh git pull truy xuất tất cả các thay đổi mà chúng tôi đã thực hiện đối với kho lưu trữ từ xa của mình và thay đổi các tệp cục bộ của chúng tôi.

Chúng tôi có thể thấy tệp README.md đã được thay đổi trên kho lưu trữ từ xa của chúng tôi. Bây giờ chúng tôi đã chạy một hoạt động kéo, chúng tôi có sự thay đổi trên máy cục bộ của chúng tôi.

Để lấy mã từ một nhánh, chúng ta có thể sử dụng lệnh git pull origin .

Kết luận

Lệnh git fetch –all truy xuất siêu dữ liệu trên mỗi thay đổi được thực hiện cho tất cả các nhánh trong kho lưu trữ. Lệnh git pull –all tải tất cả các thay đổi được thực hiện trên tất cả các nhánh vào máy cục bộ của bạn.
Bây giờ bạn có kiến ​​thức cần thiết để kéo tất cả các nhánh từ Git như một người chuyên nghiệp!