s* 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ộn
Trang 1BO CONG THUONG TRUONG DAI HOC CONG NGHIEP TP HO CHi MINH
KHOA CONG NGHE THONG TIN
™
INDUSTRIAL UNIVERSITY OF HOCHIMINH CITY
BAO CAO TAI LIEU HUONG DAN QUAN LY MA NGUON BANG
CONG CU GITHUB
Tên nhóm: Nhóm 12
GVHD: Châu Thị Bảo Hà
Thành viên:
19431791 - Lê Tuần
19434681 — Tang Bao Tran
19437351 - Nguyễn Đức Huy
TP H6 Chi Minh - Thang 4/ 2022
Trang 2I Giới thiệu
1 Github là gì?
s* 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 CitHub, 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
s* 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 đố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:
s* 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 va Erlang do Tom Preston-Werner, Chris Wanstrath, và PJ Hyett
3 Các tính nắng cơ bản:
“+ Wiki, issue, thong kê, đôi tên project, proJect được đặt vào namespacc là user s* 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ự an
s* 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 Thuan 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 đự án của mình, và mỗi repo thì sẽ được nhiều người phát trién (duoc goi la Contributor)
1.2 Theo déi su thay déi cua 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 đõi những dự an ma nguén mé theo technology pattern hop ly thong qua chức nang Explore
2 Khó khăn
s* 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 dau
s* 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 van dé nay)
II Hướng dẫn sử dụng:
1 Cài đặt môi trường
+ Truy cập đường dan: Download Visual Studio Code - Mac Linux, Windows dé tai ñle 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-sem.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)
s* Chọn Ññle 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
Download for Windows
Click here to download the latest (2.36.0) 64-bit version of Git for Windows This is the most
recent maintained build It was released about 11 hours ago, on 2022-04-20
Other Git for Windows downloads
Standalone Installer
32-bit Git for Windows Setup
64-bit Git for Windows Setup
Portable ("thumbdrive edition")
32-bit Git for Windows Portable
64-bit Git for Windows Portable.
Trang 42 Tao repository cho dự án
Pull requests lssues Marketplao Explore
CÁC 0 10A oid
Se Ren0503/limbo-api
Cen nA et
Ren0503/homework-hrms Recent activity
e Ren0503 created a repository Ren0S03/homework
Ren0503/homeworkc
PulIrequests lssues Marketplace Explore
my ilamtun
Organizations Petre
Ef vh-tearning
Transform account
Hinh 2: Trang tong thé cua git organizations => Chon New organization
Trang 5*Q 48140 2522109
F———
Hinh 3: Chon loai organization
Pullrequests ksues Marketplre Explore
Set up yo rganization
Y Contact email
Hình 4: Diễn thông tin và thực hiện việc xác thực
Trang 6° Follow
iuh-learning
IS Di
Popular re
ere
dbclpm-configure-management
nh 5: Trang tổng thê của git với organizations là iuh-learning
@ Search or jump to Pullrequests Issues Marketplace Explore
i] iuh-learning
Oweriew [] Repositories Lá So
dbclpm-configure-management
lems Pvay $euly Status Doœs CoalaetGRHUb Pøong API Trang Big
Hình 6: Chọn tab Repositories => New reposifory
Trang 7Create a new repository
DU TY SỐ
Owner DU
_ an
pository names are short and memorable Need inspiration? How about
Description
ee
» Private Initialize this repository with:
[CT2 Ai
Hình 7: Nhập tên repository và những lựa chọn phù hợp => Chọn Credfe reposifory
3 Tải mã nguồn lên repository
SUI.fookgsva X
JAVA PROJECTS
Hinh 8: M6 mé nguon trén visual code => Mo terminal trong visual code
Trang 8xsoft (orporatiơ A
ss-platform Power
Hinh 9: Ste dung git init dé tao repository client
TFRMINAI
tform Powershell kt
Hình 10: Sử dụng git add dé thém mG nguon vao repository client
TERMINAL
Windows PowerShell
Copyright (C) Microsoft Corporatlon All rights reserved
PS G:\Java\book-manager> init
Initialized empty Git repository in G:/Java/book-manager/.git/
PS G:\Java\book-manager>
PS G:\Java\book-manager> add
warning: LF will be replaced by CRLF in vscode/settings json
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in README.md
The file will have its original line endings in your working directory
PS G:\Java\book-manager> commit “upload project book manager"
[master (root-commit) @27d4fb] upload project book manager
12 files changed, 626 insertions(+)
create mode 100644 vscode/settings.json
(glee Me ee
create mode 100644 bin/iuh/com/hsk/Book.class
create mode 100644 bin/iuh/com/hsk/BookList.class
create mode 100644 bin/iuh/com/hsk/GUI_Book$1.class
create mode 100644 bin/iuh/com/hsk/GUI_Book.class
create mode 100644 bin/iuh/com/hsk/SaveFileByObject.class
create mode 100644 data/ListBook_SaveObject.txt
create mode 100644 src/iuh/com/hsk/Book java
create mode 100644 src/iuh/com/hsk/BookList java
create mode 100644 src/iuh/com/hsk/GUI_Book java
create mode 100644 src/iuh/com/hsk/SaveFileByObject java
PS G:\Java\book-manager> []
Hình 11: Su dung git commit -m “message” dé xác nhận việc thêm mã nguồn
Trang 9https://g1thub com/1uh- 1earning/book-managewent g1t
TERMINAL
3ookL1st Java /GUI_Book java k/SaveFileByObject Ae) os Be ' igin https: //github com/1uh- learning/ -Ianagerterrt
iaager
ì 0r1gin main not a git command See ‘git help"
ntial-manag:
JeCtS: 24;
24), e
to 4 threads 17/17), done
Writing objec 095 (24/24), 16.34 KiB | 1.63 MiB/s, done
Total 24 (delta @), r ) k-reused @
s://github.com/iuh-learni ok-management git
ranch] main
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
=> Tao 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 ở may khach lén GitHub
Trang 10Go to file Add file ~
Se ete
eS ST
README md
Packages
Getting Started
Hình 14: Mã nguồn được đưa lên GitHub
4 Bắt đầu quản lý mã nguồn
@ TT Ti Pull requests issues Marketplace Explore hs
<> Code Issues 1 Pull reque
@ iam HTPS b t :
ia
md
Open with GitHub Desktop
te
Releases [3 READMEmd Open with Visual Studio
Packag Getting Started
Languages
Hình 15: Chọn “Code” sao chép link để clone mã nguồn về máy
Trang 11
Hinh 16: Sue dung git clone url
- url: được sao chép theo hướng dẫn hình II
Cd
Cae os
4e
Hinh 17: Swe dung git pull va git checkout -b name_branch
- git pull: ding dé déng bé m4 nguén trén GitHub
- git checkout -b name_branch: dung dé di chuyén m4 nguén sang một vùng làm việc khác (branch) tránh làm
ảnh hưởng đến vùng làm việc chính
Trang 12Dee
Mà zach Tựa sách
- international Stantard Book Number: 764235-4 Them Xóa rỗng L Tex theo mi sich: [Chon mi sich | ¥
utd
et
JAVA PROJ(CTS
oưnuwe
td
Hinh 19: MG nguon trieéc khi chỉnh sửa
Trang 13
Hì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”: xac nhận việc thêm mã nguồn kèm theo chú thích
- git push -u origin name_branch: day code lén vùng làm việc đã đi chuyên trên GitHub
+* Chú ý:
YO day viéc day code cé van dé vé cai đặt trên một số máy nên ta sử dụng công cụ
trên giao điện
¥ Sau khi push bang đò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 14
CC
[j lưhkewmmngftoe v
Hình 22: Sau đó thực hiện login => Chọn Creafte pHÏI request trên màn hình => Xuất
hiện giao điện như hình và thực hiện thao tác điền thông tin để tạo yêu cẩu => Sau đó
chon Create
Trang 15update #8
"Tà
Mileztone
Pullrequests lssues Maarketpiace Explore
iuh-learning / book-management
at eet]
t?Mietones (0
Hình 24: Ở giao điện của người quản lý mã nguồn đã thấy được yêu câu hợp nhất mã
nguồn => Chọn vào yêu cđu
Trang 16)N
update
So
Hình 25: Người quản ly 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
T1 Pưi requests (
update
CoAT EES
ro
Hình 26: Chọn Merge pull request dé thuc hién thao tac hop nhat ma nguén
Trang 17pull request #8 í: Ibeotrann/tran_update
feed Caneel
củ
Cu
tg
Hinh 28: Sie dung git pull đề đồng bộ mã nguồn với sự hợp nhất vừa rồi và chạy ứng dựng xem có sự thay đổi về cầu hình chung của ứng dụng không
Trang 18
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 sanh Github voi 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
Gñt 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 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 đung được băm bằng
mật mã nào
Git noi 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 da phat trién git cho nhân
mo
Trang 20
V Tai liéu tham khảo:
1 Khai niém va cách sử dụng: First Day on GitHub | GitHub Learning Lab
2 Lich str: GitHub - Wikipedia
3 Cac tinh nang co ban, Thuan loi: Github la gi? Giai ma nhtimg lợi ích tuyết vời danh cho developer (webmuaban.com)
4 Bang so sanh: Sự khác nhau giữa Github và SVN