Hướng dẫn đơn giản để thực hiện PR đầu tiên của bạn (Yêu cầu kéo)

Chà, cái này tôi nghĩ sẽ là một hướng dẫn khá ngắn và hy vọng mang tính giáo dục;). Tôi sẽ cung cấp một kho lưu trữ nhỏ cho bạn trên github của tôi để bạn có thể gửi các bài PR của mình và đồng thời để bạn có thể thực hành cách thực hiện tất cả các bước mà tôi sẽ để lại bên dưới. Đây là liên kết để thực hiện bài PR thử nghiệm của bạn:

https://github.com/CodeLabora/TuPrimerPR

Vâng, hãy nhanh chóng liệt kê các bước cần thiết để gửi một bài PR:

  1. Nia
  2. Clone
  3. Xa
  4. Chi nhánh
  5. Thay đổi
  6. Thêm
  7. Cam kết
  8. Đẩy
  9. PR

Tôi đặt chúng bằng tiếng Anh để chúng tìm các tùy chọn tương ứng trên dòng lệnh git.

Nia

Một ngã ba là phiên bản kho lưu trữ Github của riêng bạn. Điều này cho phép bạn sao chép công việc của một dự án khác và có nó trong tài khoản của bạn để bạn có thể thay đổi mọi thứ mà không lo bị mất các thay đổi của mình. Để thực hiện fork, bạn chỉ cần truy cập vào trang và nhấp vào nút Fork ở phần trên bên phải.

Sở hữu. Christopher Diaz Riveros

Sau khi thực hiện fork xong, bạn sẽ thấy kho lưu trữ xuất hiện trong tài khoản của mình.

Sở hữu. Christopher Diaz Riveros

Clone

Bây giờ chúng tôi có một kho lưu trữ, chúng tôi sẽ sao chép nó vào nhóm của chúng tôi. (Tôi cho rằng những người sử dụng Linux theo tôi, nhưng đối với người dùng các hệ thống khác, cũng có các phiên bản git mà bạn có thể tải xuống trên trang chính thức của nó.

Sở hữu. Christopher Diaz Riveros

Và với thiết bị đầu cuối của chúng tôi, chúng tôi làm như sau.

Sở hữu. Christopher Diaz Riveros

Với điều này, chúng tôi sẽ có một thư mục mới có tên TuPrimerPR, trong đó dự án Github của chúng tôi sẽ là. Chúng tôi nhập thư mục bằng lệnh «cd TuPrimerPR» và chúng tôi sẽ thấy rằng bên trong là các tệp nằm trong fork của chúng tôi.

Sở hữu. Christopher Diaz Riveros

(Lưu ý rằng số lượng tệp có thể thay đổi tùy thuộc vào những gì chúng tìm thấy trong kho lưu trữ của tôi khi chúng phân tách)

Xa

Đây là bước không bắt buộc nhưng sẽ tránh được nhiều vấn đề khi làm việc liên tục trong một dự án. Fork theo mặc định tạo một bản sao chính xác của kho lưu trữ, nhưng vào thời điểm tạo chính xác. Điều này có nghĩa là nếu dự án tiếp tục tiến triển, thì kho lưu trữ của bạn sẽ bị tụt hậu theo ngày hoặc giờ. "Git remote" cho phép chúng tôi chỉ định một điểm tải xuống khác (dự án gốc) và do đó có thể cập nhật dự án của chúng tôi mỗi khi chúng tôi thấy rằng dự án mẹ đang được cập nhật.

Để tìm dự án mẹ của bạn, bạn chỉ cần sử dụng liên kết ngay bên dưới tên kho lưu trữ của bạn. (Kiểm tra hình ảnh thứ hai của phần Fork). Chúng tôi sẽ thêm thông tin này vào bên dưới:

Sở hữu. Christopher Diaz Riveros

Đây là dự án ban đầu (chúng tôi sẽ gọi nó là Thượng nguồn để theo kịp với nhiều dự án).

Sở hữu. Christopher Diaz Riveros

Như bạn có thể thấy, tôi đã thêm điều khiển từ xa bằng »git remote add »

Với điều này, chúng tôi sẽ có thể cập nhật dự án khi cần thiết, nhưng chúng tôi sẽ không sử dụng nó bây giờ vì nó không cần thiết. (Tôi sẽ giải thích điều đó sau, hoặc trong một bài khác, tùy theo nhu cầu)

Chi nhánh

Các nhánh (hoặc các nhánh) cho phép bạn tạo các phần mã mà bạn có thể làm việc trong một môi trường biệt lập. Điều này có nghĩa là những gì bạn làm trong một nhánh không nhất thiết ảnh hưởng đến mã gốc cho đến khi sử dụng một hợp nhất git «. Đây cũng là một chức năng phụ mà Github cho phép bạn, mỗi khi bạn tạo nhánh, Github sẽ tự động tạo nguồn của Pull Request khi cần thiết.

Sở hữu. Christopher Diaz Riveros

Bây giờ chúng tôi đang ở trong chi nhánh đặc biệt của mình, chúng tôi có thể làm việc dựa trên sự đóng góp của mình.

Thay đổi

Tôi sẽ thêm một vài tệp để bạn có thể xem nó được thực hiện như thế nào.

Sở hữu. Christopher Diaz Riveros

"Touch" cho phép chúng tôi tạo một tệp trống (nếu nó không tồn tại). với điều này, chúng ta có thể chuyển sang bước tiếp theo.

Thêm

»Git add» cho phép chúng tôi thêm các tệp vào cam kết của chúng tôi (tôi sẽ giải thích sau). Để xem những tệp nào bạn có thể thêm, bạn có thể sử dụng lệnh »git status»

Sở hữu. Christopher Diaz Riveros

Với điều này, chúng tôi đã sẵn sàng mọi thứ cho Cam kết của mình

Cam kết

Cam kết là dấu ấn (hoặc cột mốc) trong thời gian. chúng xác định một trạng thái cho tất cả các tệp trong dự án và tích lũy những thay đổi cần thiết để chuyển từ đầu dự án đến trạng thái hiện tại. Nghe có vẻ hơi phức tạp nhưng nó khá đơn giản, bạn chỉ cần nhớ rằng chúng chính là cầu thang trong dự án của bạn. Chúng tôi viết »git commit» và chúng tôi sẽ nhận được một cửa sổ để viết thông điệp commit của chúng tôi.

Sở hữu. Christopher Diaz Riveros

Và khi hoàn tất và lưu văn bản, chúng ta sẽ thấy một cái gì đó như:

Sở hữu. Christopher Diaz Riveros

Nơi một bản tóm tắt về những gì cam kết được hiển thị.

Đẩy

Với sự thúc đẩy, chúng tôi đang tải lên tài khoản Github của mình tất cả các cam kết mà chúng tôi có trên máy tính không có trong kho lưu trữ của chúng tôi trên internet. Điều này sẽ cho phép Github tự động tạo PR mới.

Sở hữu. Christopher Diaz Riveros

Lưu ý rằng chúng tôi đang sử dụng tên chi nhánh của mình và nó yêu cầu chúng tôi nhập tên người dùng và mật khẩu của chúng tôi. Ở phần cuối, nó cho chúng ta thấy rằng nhánh myImprove đã được tạo trong tài khoản Github của chúng tôi. Hãy xem những gì chúng tôi đã đạt được trong trình duyệt. 😉

PR

Sở hữu. Christopher Diaz Riveros

Như bạn có thể thấy, một dòng mới đã được tạo với nội dung "Yêu cầu so sánh & kéo". Chức năng Github này cho phép chúng tôi tạo PR một cách đơn giản, chúng tôi sẽ nhấp vào để xem điều gì sẽ xảy ra.

Sở hữu. Christopher Diaz Riveros

Github khá thông minh. Như bạn có thể thấy, các phần của cam kết được thêm vào biểu mẫu để gửi. Nó chỉ cần thiết để nhấp vào nút và thì đấy 🙂 Đơn giản.

thêm

Đây là hậu trường của các dự án, PR xuất hiện và người quản lý quyết định có nhận hay không, hoặc viết thêm thông điệp. Trong trường hợp của tôi, tôi sẽ chấp nhận nó ngay lập tức.

Sở hữu. Christopher Diaz Riveros

Khi quá trình hợp nhất được thực hiện, họ sẽ có thể xem nhật ký cam kết của dự án và thấy tên của họ trong đó.

Sở hữu. Christopher Diaz Riveros

Nhưng bây giờ chúng tôi có một vấn đề. Cam kết đó không xuất hiện trong của chúng tôi kho lưu trữ, chỉ trong dự án. Bạn có nhớ đoạn từ xa của chúng tôi? Bây giờ là khi nó được đền đáp 🙂

Chúng tôi quay trở lại nhánh chính của chúng tôi và làm như sau:

Sở hữu. Christopher Diaz Riveros

Với điều này, chúng tôi đã tải xuống tất cả thông tin của dự án ban đầu cho nhóm của chúng tôi. Như bạn có thể thấy, cam kết của chúng tôi xuất hiện ở đó. Bây giờ chúng tôi sẽ lưu tất cả công việc này vào kho lưu trữ Github của chúng tôi để có thể xóa nhánh có đầu vào mà họ đã thêm vào dự án.

Sở hữu. Christopher Diaz Riveros

Bây giờ chúng tôi đã cập nhật kho lưu trữ Github, chúng tôi sẽ xóa chi nhánh của mình, nhưng trước tiên chúng tôi đảm bảo rằng nó nằm bên trong chi nhánh chính của chúng tôi (chính)

Sở hữu. Christopher Diaz Riveros

Như bạn có thể thấy, tôi đã gặp một lỗi nhỏ, điều này là do tôi đã ở trong nhánh myImprovement của mình khi tôi muốn xóa. Điều này được khắc phục bằng cách quay trở lại nhánh chính.

Kết luận

Xong 🙂 đơn giản như vậy. Bây giờ bạn đã nắm được những bí mật đen tối của Github để gửi PR, tôi mong muốn được thấy những đóng góp của bạn trong các dự án khác nhau. Và nếu bạn muốn, bạn có thể để lại bài PR đầu tiên của mình trong kho lưu trữ của tôi 😉 cho bộ nhớ.

Tôi chưa chạm đến một nghìn lẻ một lợi ích Git (Mắt, không phải Github) và như bạn mong đợi từ các nhà phát triển gắn bó với cộng đồng hạt nhân, Git là một công cụ cực kỳ mạnh mẽ, với hàng trăm chức năng.

Để có ý tưởng tốt hơn về những gì nó làm và tất cả sức mạnh của Git, tôi thực sự khuyên bạn nên cuốn sách. Tôi chắc chắn rằng nó sẽ giúp bạn rất nhiều để cải thiện việc xử lý git của bạn.

Xin chào và tôi hy vọng nó sẽ giúp bạn 😉


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   Cristian Abrazua dijo

    Hướng dẫn tuyệt vời, hy vọng bạn có thể tiếp tục nghiên cứu về Git. Cảm ơn bạn!

  2.   ChrisADR dijo

    Thông thoáng! Tôi sẽ bổ sung thêm nội dung càng sớm càng tốt về điều này và nhiều hơn nữa.

  3.   gustavo dijo

    Tuyệt vời

    1.    ChrisADR dijo

      Nó phục vụ bạn tốt như thế nào 😉 Xin chào

  4.   Tháng Tư dijo

    Ngay sau khi thực hành là tôi có thể làm được, cảm ơn rất nhiều, bài hướng dẫn này là thứ mà tôi đã tìm kiếm bấy lâu nay mà không tìm được!

  5.   Ch3ssMaster dijo

    Giải thích rất tốt, từ những điều cơ bản, cảm ơn. Tôi sẽ cải thiện captuas khi bạn có thời gian.