Bắt đầu

Đầu tiên, bạn cần chọn một dự án để đóng góp . Tôi khuyên bạn nên bắt đầu với một thư viện mà bạn hiện đang sử dụng, bởi vì bạn sẽ hiểu mục đích của thư viện và bạn sẽ được đầu tư để làm cho nó tốt hơn.

Khi bạn đã chọn những gì cần sửa, bạn có thể bắt đầu quy trình từng bước bên dưới:

  • Từ bước 1 đến bước 6 là các bước thiết lập, nghĩa là bạn chỉ phải thực hiện chúng một lần cho mỗi dự án GitHub.
  • Các bước từ 7 đến 16 nên được lặp lại cho mỗi contribute.

Ở bài viết này, có 3 từ khoá bạn cần lưu ý !

  1. Kho lưu trữ “dự án”: là Repository mà bạn muốn đóng góp (của tác giả)
  2. Kho lưu trữ “fork”: là Repository của bạn sao chép từ dự án (của bạn)
  3. Kho lưu trữ “cục bộ”: là Repository của bạn trên máy tính để sửa (của bạn)

Bước 1 : Đăng nhập GitHub

Đăng nhập vào tài khoản GitHub của bạn hoặc tạo tài khoản GitHub miễn phí nếu bạn chưa có.

Bước 2 : Fork kho lưu trữ dự án

Tìm kho lưu trữ của dự án trên GitHub, sau đó “fork” nó bằng cách nhấp vào nút Fork ở góc trên bên phải:

Thao tác này tạo một bản sao của kho dự án trong tài khoản GitHub của bạn.

Ở bài viết này tôi sẽ dùng tài khoản PACTTeam để contribute vào dự án của lucthienphong1120.

Bước 3 : Sao chép dự án

Khi vẫn ở trong kho lưu trữ của bạn, hãy nhấp vào nút Code , sau đó tải xuống hoặc dùng git clone để tải về bản sao của dự án.

git clone <link dự án>
git clone https://github.com/lucthienphong1120/new.git

Bước 4 : Điều hướng đến kho lưu trữ cục bộ của bạn

Sau khi bản sao được tải về, bạn có thể di chuyển vào folder dự án bằng cách sử dụng:

cd <tên dự án>
cd new

Bước 5 : Kiểm tra xem fork của bạn có phải là “origin” remote

Bạn sẽ đồng bộ hóa kho lưu trữ cục bộ của mình với cả kho lưu trữ dự án (trên GitHub) và fork của bạn (cũng trên GitHub). Các URL trỏ đến các kho này được gọi là “remotes”. Cụ thể hơn, kho lưu trữ dự án được gọi là remotes upstream” và ngã ba của bạn được gọi là origin upstream” .

Khi bạn cloned fork của mình, điều đó sẽ tự động đặt fork của bạn làm “origin remote”. Sử dụng lệnh sau để hiển thị điều khiển từ xa hiện tại của bạn.

git remote -v

Nếu bạn không thấy “origin remote”, bạn có thể thêm nó sử dụng: 

git remote add origin <URL fork>

Step 6: Thêm kho dự án thành “upstream” remote

Quay lại kho lưu trữ dự án, thêm kho dự án thành “upstream remote” sử dụng:

git remote add upstream <URL dự án>
git remote add upstream https://github.com/lucthienphong1120/new.git

Sử dụng git remote -v để kiểm tra lại.

Sơ đồ này tóm tắt toàn bộ quy trình thiết lập (từ bước 1 đến bước 6):

Sơ đồ rèn và nhân bản

Bước 7 : Đưa các thay đổi mới nhất từ ​​upstream vào kho lưu trữ cục bộ của bạn

Trước khi bạn bắt đầu thực hiện bất kỳ thay đổi nào đối với các tệp cục bộ của mình, trước tiên bạn nên đồng bộ hóa kho lưu trữ cục bộ của mình với kho lưu trữ dự án. Sử dụng git pull upstream master để “kéo” bất kỳ thay đổi nào từ nhánh “master” của “upstream” vào kho lưu trữ cục bộ của bạn. 

(Nếu kho dự án sử dụng “main” thay vì “master” cho nhánh mặc định của nó, thì bạn sẽ sử dụng git pull upstream main)

Nếu bạn vừa forked và cloned kho lưu trữ dự án, thì sẽ không có bất kỳ thay đổi nào, Git sẽ báo cáo rằng kho lưu trữ cục bộ của bạn “up to date” (đã cập nhật). Nhưng nếu có bất kỳ thay đổi nào, chúng sẽ tự động được hợp nhất vào kho lưu trữ cục bộ của bạn.

Bước 8 : Tạo một nhánh mới

Thay vì thực hiện các thay đổi đối với nhánh “main” của dự án, bạn nên tạo nhánh của riêng mình. Điều này tạo ra một môi trường cho công việc của bạn bị cô lập với nhánh chính.

Tạo một nhánh mới và chuyển sang nhánh đó.

Để xem các branch hiện tại gõ git branch

Để tạo mới branch gõ git branch <tên branch>

Di chuyển đến branch đó git checkout <tên branch>

Branch bạn đang ở sẽ có màu xanh và dấu *

Bước 9 : Thực hiện các thay đổi trong kho lưu trữ cục bộ của bạn

Chỉnh sửa thôi !!!

Thêm, sửa, xoá, bla bla

Bước 10 : Thêm các thay đổi của bạn

Sau khi bạn thực hiện một loạt các thay đổi, hãy sử dụng git add . để đẩy lên git và git commit -m "tin nhắn bất kì"

Bước 11 : Đẩy các thay đổi của bạn lên fork

Khi bạn thực hiện xong tất cả các thay đổi của mình, hãy đẩy lên những thay đổi này lên fork của bạn bằng cách sử dụng :

git push origin <tên branch>
git push origin test

Việc này sẽ đẩy các thay đổi từ test lên origin của github.

Nếu có lỗi xảy ra !!!

Vào chỉnh sửa config của git

git config --global --edit

dùng trình soạn thảo của bạn và thêm các dòng sau:

[credential]
  useHttpPath = true

Sau đó thử lại git push origin <tên branch> sẽ có yêu cầu đăng nhập để xác thực

Bước 12 : Bắt đầu yêu cầu kéo

Quay lại fork của bạn trên GitHub và làm mới trang. Bạn có thể thấy một khu vực pushed branch gần đây:

Nhấp vào nút Compare & pull request màu xanh để bắt đầu yêu cầu kéo.

Ngoài ra, nếu bạn không thấy khu vực được đánh dấu này, bạn có thể chuyển sang Branch và sau đó nhấp vào nút New pull request

Bước 13 : Tạo yêu cầu kéo

Sau khi “pull request”, bạn đang thực hiện một yêu cầu mà kho lưu trữ dự án sẽ “pull” các thay đổi từ fork của bạn. Bạn sẽ thấy rằng kho lưu trữ dự án được liệt kê là “base” và fork của bạn được liệt kê là “main”:

Bạn có thể xem thay đổi bằng nút Preview

Nếu mọi thứ đều ổn, hãy nhấp vào nút Create pull request

Sơ đồ này tóm tắt toàn bộ quy trình xử lý yêu cầu kéo (bước 7 đến bước 13):

Diagram of the pull request process

Bước 14 : Xem lại yêu cầu kéo

Bây giờ bạn đã tạo một yêu cầu kéo, yêu cầu này được lưu trữ trong kho lưu trữ của dự án (không phải trong nhánh của kho lưu trữ của bạn). Nếu người bảo trì dự án chấp nhận yêu cầu kéo của bạn, xin chúc mừng!, Họ sẽ hợp nhất các thay đổi được đề xuất của bạn vào nhánh chính của dự án và đóng yêu cầu kéo của bạn.

Vậy là bạn đã comtribute thành công !

Bước 15 : Xóa branch khỏi fork (không bắt buộc)

Khi bạn đã thay đổi thành công bạn có thể Delete branch, vì nó không còn được sử dụng nữa:

Bây giờ bạn cũng có xóa nhánh bạn đã tạo khỏi kho lưu trữ cục bộ của mình cho gọn.

Chuyển sang branch gốc : git checkout main và xoá nhánh đã tạo git branch -D <tên branch>

Xoá branch test thành công.

Bước 16 : Đồng bộ hóa fork của bạn với kho lưu trữ dự án (không bắt buộc)

Tại thời điểm này, fork của bạn không đồng bộ với nhánh chính của kho lưu trữ dự án.

Để có được nó sao lưu đồng bộ, trước tiên bạn nên sử dụng Git để kéo những thay đổi mới nhất từ (kho dự án) “upstream” vào kho lưu trữ địa phương của bạn: 

git pull upstream main

Sau đó, đẩy những thay đổi từ kho lưu trữ cục bộ lên “origin” (fork của bạn): 

git push origin main

Nếu bạn quay lại fork của mình trên GitHub, bạn sẽ thấy rằng nhánh chính “đồng đều” với nhánh chính của kho lưu trữ dự án

Xin chúc mừng!

Vậy là bạn đã đóng góp mã nguồn mở đầu tiên! 🎉

Leave a Reply

This site uses cookies to offer you a better browsing experience. By browsing this website, you agree to our use of cookies.