Cộng đồng mã nguồn mở
Trong thế giới công nghệ ngày nay, các dự án mã nguồn mở đã trở thành nền tảng quan trọng cho sự đổi mới và phát triển phần mềm. Những dự án này không chỉ cung cấp các công cụ và ứng dụng mạnh mẽ mà còn mở ra cơ hội cho bất kỳ ai muốn tham gia và đóng góp vào sự tiến bộ chung. Tuy nhiên, bước đầu tiên để trở thành một phần của cộng đồng mã nguồn mở có thể khiến nhiều người cảm thấy bối rối.

Hướng Dẫn Này sẽ giúp bạn làm quen với quy trình kết nối và đóng góp vào các dự án mã nguồn mở một cách dễ dàng và hiệu quả. Từ việc hiểu rõ về dự án và cộng đồng đến việc thực hiện các thay đổi và gửi pull request, mình sẽ hướng dẫn bạn từng bước một. Bất kể bạn là một lập trình viên mới bắt đầu hay một chuyên gia dày dạn kinh nghiệm, tài liệu này sẽ cung cấp cho bạn những kiến thức cần thiết để bắt đầu hành trình đóng góp của mình.

Thực hiện
Để bắt đầu cho việc xây dựng, đóng góp và phát triển những dự án mã nguồn mở chúng ta cần có source code của dự án đó. Ở đây, mình sẽ sử dụng source code của dự án “freechat” được phát triển bởi “youngmonkeys”.
link dự án: https://github.com/youngmonkeys/freechat

Đầu tiên, bạn truy cập vào dự án mã nguồn mở mà mình muốn phát triển thêm, sau đó ở góc bên phải màn hình Github bạn chọn “Fork” (Tạo một bản sao của dự án trên GitHub của bạn bằng cách fork kho chứa của dự án)

pictureGithubFork

Sau đó ở màn hình tiếp theo bạn chọn “create fork” để lưu bản sao dự án về Github của mình.

pictureCreateFork

Sau khi tạo thành công dự án trên Github sẽ được tạo trong repositories Github của bạn.

pictureSuccessCreate

Bước hai, tải dự án từ Github về local máy của bạn. Chọn nơi bạn muốn lưu dự án sau đó mở “cmd” và sử dụng câu lệnh “git clone + link github dự án” để tải source code về local.

pictureDowloadGitToLocal

Sau khi lấy code về local, bạn truy cập vào thư mục “freechat” của dự án, sau đó mở “cmd”. Ở đây bạn nhập “git remote -v” để hiển thị danh sách các kho chứa từ xa của dự án. Tại đây, do là dự án mới clone về local máy của bạn nên chỉ có 1 remote duy nhất và mặc định là “origin”, tuy nhiên bạn cũng có thể thay đổi và tạo ra nhiều các remote khác nhau để làm việc với đội nhóm.

pictureGitRemote

Cách để tạo thêm remote:
Để tạo thêm remote, ở “cmd” bạn nhập vào “git remote add + ‘tên remote’ + ‘link github dự án của bạn’”.
Ví dụ ở đây mình muốn tạo thêm 1 remote có tên là “dao” thì sẽ tạo như sau: “git remote add dao https://github.com/hoangdao2112/freechat.git”.

pictureCreateRemote

Để lưu trên git bạn sẽ nhập thêm câu lệnh “git push + “tên remote” + ‘tên nhánh’”. Ví dụ, mình lưu nhánh remote “dao” vào nhánh “main” sẽ nhập vào “cmd” câu lệnh như sau: “git push dao main”.

Cách xóa remote:
Để xóa remote, ở “cmd” bạn nhập vào “git remote remove + ‘tên remote’”. Cụ thể, mình muốn xóa remote “dao” thì sẽ nhập vào như sau: “git remote remove dao”, sau đó nhập “git remote -v” để kiểm tra lại các nhánh remote hiện đang có.

pictureRemoteRemove

Bước ba, tạo một nhánh mới để thực hiện các thay đổi của bạn mà không làm ảnh hưởng đến nhánh chính của dự án.
Ở “cmd” của dự án hiện tại bạn nhập “git branch” để kiểm tra các nhánh hiện tại của dự án.

checkBranch

Để thêm dự án mới, bạn nhập “git checkout -b + ‘your-feature-branch’”.

pictureCreateNewBranch

Sau khi tạo xong, chúng ta sẽ đẩy code từ local lên git và đây sẽ là nhánh mà bạn sẽ thao tác chính, thực hiện những thay đổi trong dự án của mình. Thực hiện những thay đổi sau
“git add .”: thêm tất cả các thay đổi trong thư mục hiện tại (bao gồm cả các tập tin mới, các thay đổi trong các tập tin hiện có, và các tập tin bị xóa) vào khu vực staging. Khu vực staging là nơi bạn chuẩn bị các thay đổi trước khi commit chúng.
“git commit -m ‘first commit’”: Lệnh này sẽ commit các thay đổi đã được thêm vào khu vực staging với một thông điệp commit.
“git push origin HEAD:new_main”: Đẩy commit hiện tại lên nhánh “new_main” trên remote “origin” lên Github.

Vừa rồi mình đã hướng dẫn các bạn cách kết nối người dùng với một dự án mở, để có thể thay đổi, phát triển dự án đó. Chúc các bạn thành công!!