Về cơ bản, GitHub là một nền tảng cộng tác Từ phần mềm đến tài liệu pháp lý, người dùng có thể tin tưởng vào GitHub để giúp người dùng thực hiện công việc tốt nhất với các công cụ cộng
Trang 1BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO TÀI LIỆU HƯỚNG DẪN QUẢN LÝ MÃ NGUỒN BẰNG
CÔNG CỤ GITHUB
Tên nhóm: Nhóm 12
GVHD: Châu Thị Bảo Hà
Thành viên:
19431791 – Lê Tuấn
19434681 – Tăng Bảo Trấn
19437351 – Nguyễn Đức Huy
Trang 2I Giới thiệu
1 Github là gì?
Về cơ bản, GitHub là một nền tảng cộng tác
Từ phần mềm đến tài liệu pháp lý, người dùng có thể tin tưởng vào GitHub để giúp người dùng thực hiện công việc tốt nhất với các công cụ cộng tác và bảo mật mà nhóm của người dùng cần Với GitHub, người dùng có thể giữ các dự án hoàn toàn riêng tư, mời mọi người cộng tác và sắp xếp hợp lý mọi bước trong dự án của người dùng
Github cũng là phần mềm quản lý phiên bản mạnh mẽ
GitHub sử dụng Git, phần mềm kiểm soát phiên bản mã nguồn mở phổ biến nhất, để theo dõi mọi đóng góp và cộng tác viên cho dự án của người dùng - vì vậy người dùng biết chính xác mọi dòng mã đến từ đâu
2 Lịch sử ra đời:
Github bắt đầu phát triển vào tháng 10/2007 và được chạy chính thức vào tháng 04/2008 Các phần mềm chạy Github được viết bằng Ruby on Rails và Erlang do Tom Preston-Werner, Chris Wanstrath, và PJ Hyett
3 Các tính năng cơ bản:
Wiki, issue, thống kê, đổi tên project, project được đặt vào namespace là user
Watch project: Theo sát và kiểm soát sự thay đổi dự án, quá trình phát triển phần mềm hoặc tiến trình dự án
Follow user: Theo dõi hoạt động của người dùng, tìm kiếm và kết nối bạn bè
II Thuận lợi và khó khăn khi sử dụng
1 Thuận lợi:
1.1 Quản lý mã nguồn
Người dùng sẽ quản lý dự án của mình theo một thứ gọi là repository, gọi tắt là repo, những repo này sẽ được lưu trên Github Vì đây là git nên người dùng hoàn toàn có thể quản lý được commits và branches trong dự án của mình, và mỗi repo thì sẽ được nhiều người phát triển (được gọi là Contributor)
1.2 Theo dõi sự thay đổi của phiên bản
Một project có nhiều thành viên tham gia sẽ gây cản trở trong việc chỉnh sửa và lưu trữ Tuy nhiên đối với Github thì người dùng không cần phải lo lắng về vấn đề này Sau mỗi lần điều chỉnh, các phiên sẽ được lưu trữ lại để tránh tình trạng sau này phiên bản mới bị mất hoặc không lưu lại được
Trang 3Do đó người có thể tìm kiếm những phiên bản trước, nơi lưu trữ hoặc những thay đổi của dự án trước khi push lên repository để tiện cho việc theo dõi và phát triển dự án
1.3 Theo dõi người dùng
Được ví như “mạng xã hội” dành cho lập trình viên, Github là cộng đồng lý tưởng để kết bạn, giao lưu vào theo dõi người dùng hữu hiệu Tại đây người dùng được phép kết nối bạn bè, tương tác tương tự các trang mạng xã hội khác từ đó mở rộng mối quan hệ bạn bè, đồng nghiệp trong tương lai
1.4 Kho tài nguyên vô giá
Github được ví nguồn tài nguyên khổng lồ mà tại đây người dùng có thể tìm kiếm, theo dõi những dự án mã nguồn mở theo technology pattern hợp lý thông qua chức năng Explore
2 Khó khăn
Các câu lệnh tương đối phức tạp gây khó khăn cho người mới bắt đầu
Dễ gây ra xung đột code nếu các nhà phát triển cùng không đồng bộ mã nguồn sau những phiên bản được cập nhật (Người quản lý có thể giải quyết vấn đề này)
III Hướng dẫn sử dụng:
1 Cài đặt môi trường
Truy cập đường dẫn: Download Visual Studio Code - Mac, Linux, Windows để tải file cài đặt về máy (Lưu ý chọn hệ điều hành phù hợp với máy của mình) Sau khi tải về thì cài đặt như các ứng dụng khác
Truy cập đường dẫn: Git - Downloads (git-scm.com) để tải file cài đặt về máy (Lưu
ý chọn hệ điều hành phù hợp với máy của mình)
Chọn file cài phù hợp với máy của mình 32-bit hoặc 64-bit Sau khi tải về thì cài đặt như những ứng dụng bình thường
Trang 42 Tạo repository cho dự án
Hình 1: Trang tổng thể của git bắt đầu tạo organizations => Chọn Your organizations
Hình 2: Trang tổng thể của git organizations => Chọn New organization
Trang 5Hình 3: Chọn loại organization
Hình 4: Điền thông tin và thực hiện việc xác thực
Trang 6Hình 5: Trang tổng thể của git với organizations là iuh-learning
Hình 6: Chọn tab Repositories => New repository
Trang 7Hình 7: Nhập tên repository và những lựa chọn phù hợp => Chọn Create repository
3 Tải mã nguồn lên repository
Hình 8: Mở mã nguồn trên visual code => Mở terminal trong visual code
Trang 8Hình 9: Sử dụng git init để tạo repository client
Hình 10: Sử dụng git add để thêm mã nguồn vào repository client
Hình 11: Sử dụng git commit -m “message” để xác nhận việc thêm mã nguồn
Trang 9Hình 12: Các hướng dẫn tiếp theo có trên GitHub khi tạo repository
Hình 13: Thực hiện các dòng lệnh mẫu
- git remote add origin https://github.com/iuh-learning/book-management.git
=> Tạo kết nối với repository trên GitHub
- git branch -M main
=> Tạo một nhánh có tên là main
- git push -u origin main
=> Đẩy code ở máy khách lên GitHub
Trang 10Hình 14: Mã nguồn được đưa lên GitHub
4 Bắt đầu quản lý mã nguồn
Hình 15: Chọn “Code” sao chép link để clone mã nguồn về máy
Trang 11Hình 16: Sử dụng git clone url
- url: được sao chép theo hướng dẫn hình 11
Trang 12Hình 18: Chạy ứng dụng sau khi chuyển sang vùng làm việc mới
Hình 19: Mã nguồn trước khi chỉnh sửa
Trang 13Hình 20: Mã nguồn sau khi chỉnh sửa sau đó bắt đầu đẩy mã nguồn lên GitHub bằng các
dòng lệnh
- git add : dùng để thêm tất cả mã nguồn vào repository trên máy khách
- git commit -m “message”: xác nhận việc thêm mã nguồn kèm theo chú thích
- git push -u origin name_branch: đẩy code lên vùng làm việc đã di chuyển trên GitHub
Chú ý:
Ở đây việc đẩy code có vấn đề về cài đặt trên một số máy nên ta sử dụng công cụ trên giao diện
Sau khi push bằng dòng lệnh thành công thì thực hiện chọn vào liên kết tạo yêu cầu hợp nhất mã nguồn
Trang 14Hình 21: Chọn vào Publish Branch => Chọn Create fork
Hình 22: Sau đó thực hiện login => Chọn Create pull request trên màn hình => Xuất hiện giao diện như hình và thực hiện thao tác điền thông tin để tạo yêu cầu => Sau đó
chọn Create
Trang 15Hình 23: Thực hiện yêu cầu thành công
Hình 24: Ở giao diện của người quản lý mã nguồn đã thấy được yêu cầu hợp nhất mã
Trang 16Hình 25: Người quản lý xem xét việc thay đổi có ảnh hưởng gì không (Review) – Để đưa
ra quyết định có hợp nhất mã nguồn này vào hay là hủy yêu cầu
Hình 26: Chọn Merge pull request để thực hiện thao tác hợp nhất mã nguồn
Trang 17Hình 27: Xác nhận việc hợp nhất mã nguồn
Hình 28: Sử dụng git pull để đồng bộ mã nguồn với sự hợp nhất vừa rồi và chạy ứng
Trang 18Hình 29: Chọn vào Source Control => Chọn Git Graph để xem trực quan hóa các thao tác người dùng và người chung nhóm thực hiện các thao tác trên repository
Trang 19IV So sánh Github với SVN
Đó là một hệ thống kiểm soát phiên bản phân
tán
Đó là một hệ thống kiểm soát phiên bản tập trung
Git là một SCM (quản lý mã nguồn) SVN là kiểm soát sửa đổi
Git có một kho lưu trữ nhân bản SVN không có kho lưu trữ nhân bản
Các nhánh Git quen thuộc để làm việc Hệ
thống Git giúp hợp nhất các tệp một cách
nhanh chóng và cũng hỗ trợ tìm kiếm những
tệp chưa được hợp nhất
Các nhánh SVN là một thư mục tồn tại trong kho Một số lệnh đặc biệt được yêu cầu Để hợp nhất các nhánh
Git không có số sửa đổi Toàn cầu SVN có số sửa đổi Toàn cầu
Git có nội dung được băm bằng mật mã để bảo
vệ nội dung khỏi bị hỏng kho lưu trữ do sự cố
mạng hoặc lỗi đĩa
SVN không có bất kỳ nội dung được băm bằng mật mã nào
Git nội dung được lưu trữ dưới dạng siêu dữ
Git có nhiều tính năng bảo vệ nội dung hơn
Linus Torvalds đã phát triển git cho nhân
Git được phân phối theo GNU (Giấy phép công SVN được phân phối theo giấy phép nguồn
Trang 20V Tài liệu tham khảo:
1. Khái niệm và cách sử dụng: First Day on GitHub | GitHub Learning Lab
2. Lịch sử: GitHub - Wikipedia
3. Các tính năng cơ bản, Thuận lợi: Github là gì? Giải mã những lợi ích tuyệt vời dành cho developer (webmuaban.com)
4. Bảng so sánh: Sự khác nhau giữa Github và SVN