Trang chủ Thủ Thuật Yêu cầu kéo Git là gì, và bạn sử dụng chúng như...

Yêu cầu kéo Git là gì, và bạn sử dụng chúng như thế nào?

0
44

Yêu cầu kéo Git là gì, và bạn sử dụng chúng như thế nào?

Git logo

Yêu cầu kéo là một tính năng của các dịch vụ git trực tuyến như Github và Gitlab. Chúng cho phép bất kỳ ai yêu cầu thay đổi được thêm vào, ngay cả khi họ không có quyền truy cập vào kho lưu trữ. Chúng ta sẽ thảo luận về cách chúng hoạt động và cách sử dụng chúng để cộng tác nguồn mở.

Yêu cầu kéo làm gì?

Mặc dù nó có vẻ như thế nào, git với tư cách là một công cụ là một hệ thống hoàn toàn phi tập trung. Điều đó có nghĩa là kho lưu trữ trên Github.com và kho lưu trữ trên máy cục bộ của bạn, không khác gì nhau. Bạn không kết nối với Github để làm việc trên một kho lưu trữ, bạn đang sao chép mã từ Github vào kho lưu trữ cục bộ của mình và làm việc trên đó ở đó.

Khi bạn muốn đẩy các thay đổi, bạn có thể thực hiện cam kết và chạy git push , gửi các bản cập nhật của bạn đến một “điều khiển từ xa” nhất định, có thể là bất kỳ kho lưu trữ Git nào khác, nhưng thường là một dịch vụ được lưu trữ trực tuyến như Github, Bitbucket hoặc Gitlab. Điều này cập nhật kho lưu trữ từ xa để đồng bộ với kho lưu trữ của bạn.

Tuy nhiên, điều này chỉ hoạt động khi bạn có quyền đẩy các cam kết, thường được định cấu hình bằng mật khẩu hoặc khóa SSH. Điều này chỉ được cung cấp cho các thành viên của tổ chức kiểm soát repo, nếu không, mọi người có thể thay đổi lịch sử Git. Nếu bạn không phải là thành viên của tổ chức, bạn phải làm gì khi muốn thay đổi?

Chà, có một cách thứ hai mà kho lưu trữ Git có thể được cập nhật— git pull . Bạn có thể làm điều này rất nhiều bất cứ khi nào đồng nghiệp của bạn thực hiện những thay đổi được thúc đẩy. Trong trường hợp đó, bạn đang kéo xuống các cam kết từ kho lưu trữ từ xa và đồng bộ hóa nó với kho lưu trữ cục bộ của bạn.

Quảng cáo

Tuy nhiên, Git được phân cấp, vì vậy thực sự không có sự khác biệt giữa repo của bạn và repo từ xa. Bạn thực sự có thể chạy git pull ngược lại, từ máy chủ và đây là trung tâm của những gì làm cho các yêu cầu kéo hoạt động.

Yêu cầu kéo chỉ là bạn nói với máy chủ từ xa (và những người duy trì nó) rằng bạn có một số cam kết cập nhật mà bạn muốn họ xem qua và tích hợp với kho lưu trữ từ xa. Nếu họ chấp nhận các thay đổi, git pull đối với kho lưu trữ cục bộ của bạn, tích hợp mã mà bạn không cần phải có khóa SSH được phép làm như vậy.

Nền tảng của sự hợp tác nguồn mở

Các yêu cầu kéo được sử dụng liên tục cho các thư viện mã nguồn mở. Rốt cuộc, phần lớn lý do cho mã nguồn mở là bất kỳ nhà phát triển nào cũng có thể đóng góp cho dự án nếu mã của họ hữu ích.

Yêu cầu kéo là những gì làm cho điều đó hoạt động. Những người bảo trì dự án, những quản trị viên kiểm soát nó, là những người thường xem xét các yêu cầu kéo và quyết định có tích hợp mã hay không hoặc liệu một số lỗi nhất định có cần được sửa trước khi nó sẵn sàng hay không.

Các yêu cầu kéo không chính xác là một tính năng của git , vì vậy việc triển khai chính xác chúng sẽ khác nhau tùy thuộc vào dịch vụ. Tuy nhiên, đối với Github, bạn sẽ tìm thấy các yêu cầu kéo trong thanh menu của kho lưu trữ, nơi hiển thị danh sách các yêu cầu mở và đóng mà bạn có thể lọc qua.

59e2d25e

Nếu bạn nhấp vào bất kỳ một trong số chúng, bạn có thể xem các nhận xét của người yêu cầu, cũng như các cam kết liên quan đến nó.

88bed937

Quảng cáo

Nếu bạn là người duy trì kho lưu trữ, bạn có thể xem xét và hợp nhất yêu cầu. Hoặc, nếu bạn có vấn đề với nó cần thảo luận, bạn có thể để lại nhận xét và làm việc trên mã cùng nhau. Đây là một lý do lớn tại sao các không gian công cộng như Github là nơi tuyệt vời để cộng tác nguồn mở, ngay cả những việc đơn giản như thay đổi từ ngữ của tài liệu cũng có thể được thực hiện một cách hợp tác bởi bất kỳ ai.

cb68162f

Các yêu cầu kéo khác với các vấn đề. Theo dõi vấn đề là một tính năng của nhiều dịch vụ như Github cho phép dễ dàng sửa lỗi và cộng tác công khai cho các tính năng mới. Về cơ bản, mỗi vấn đề có một chủ đề có thể được thảo luận bởi những người bảo trì và cộng đồng. Ví dụ: dotnet/csharplang là đại diện chính thức để thảo luận về cách C # như một ngôn ngữ lập trình được thiết kế. Nếu bạn đi đến các vấn đề, bạn sẽ thấy nhiều người đang thảo luận về các khái niệm cho các lần lặp lại trong tương lai của ngôn ngữ:

90ac093d

Không phải tất cả các vấn đề đều dẫn đến các yêu cầu kéo. Nếu sự cố đã được người bảo trì khắc phục, nó sẽ không thành vấn đề. Nếu sự cố được khắc phục bởi một cộng tác viên, họ sẽ cần gửi một yêu cầu kéo.

Tất cả các yêu cầu kéo đều bị từ chối hoặc dẫn trực tiếp đến các thay đổi mã trong kho lưu trữ. Các vấn đề chỉ là một cách để theo dõi tiến trình phát triển và những lỗi nào cần được sửa.

Đưa ra yêu cầu kéo

Một lần nữa, các bước chính xác cho việc này sẽ khác nhau tùy thuộc vào dịch vụ bạn đang sử dụng, nhưng hầu hết cộng tác nguồn mở đều diễn ra trên Github, vì vậy chúng tôi sẽ hiển thị các bước cho điều đó.

Đi đến kho lưu trữ bạn muốn yêu cầu và nhấp vào “Yêu cầu kéo mới” trong tab Yêu cầu kéo:

64c7ca42

Quảng cáo

Bạn có hai lựa chọn ở đây. Nếu bạn là thành viên của kho lưu trữ và muốn hợp nhất nhánh tính năng của mình vào nhánh chính, bạn có thể chọn hai nhánh.

Nếu bạn đang làm việc trên một kho lưu trữ mã nguồn mở, bạn sẽ cần tách kho và đẩy nó lên Github theo tài khoản của riêng bạn. Sau đó, bạn có thể chọn “so sánh giữa các nhánh” để hợp nhất nhánh chính của bạn vào nhánh chính của chúng.

e0f9beeb

Sau khi hoàn tất, yêu cầu kéo sẽ được mở để thảo luận và bạn chỉ cần đợi phản hồi từ những người bảo trì.

23e6edf8

Trong thời gian chờ đợi, bạn có thể kiểm tra trạng thái của tất cả các yêu cầu kéo mà bạn đang tham gia bằng tab “Yêu cầu kéo” trong thanh tiêu đề chính.

How To Run An ASP.NET Web API on AWS With Lambda and API Gateway

Cách chạy một API Web ASP.NET trên AWS với Lambda và API Gateway

How to Edit Code in Docker Containers With Visual Studio Code

Cách chỉnh sửa mã trong vùng chứa Docker bằng mã Visual Studio

Penetration Testing Has More Benefits Than You Think

Kiểm tra thâm nhập có nhiều lợi ích hơn bạn nghĩ

How to Make Your Bash Scripts Hardware Aware

Cách tạo phần cứng Bash Scripts của bạn

How to Upgrade DigitalOcean Managed Kubernetes Clusters

Cách nâng cấp các cụm Kubernetes được quản lý kỹ thuật số

What’s New In MongoDB 5.0?

Có gì mới trong MongoDB 5.0?

Dịch từ: https://www.cloudsavvyit.com/12533/what-are-git-pull-requests-and-how-do-you-use-them/

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây