02. Quản lý source code và làm việc nhóm với GIT
Vài thông tin về GIT
- Là công cụ giúp quản lý source code được tổ chức theo dạng dữ liệu phân tán (distributed)
- Giúp theo đồng bộ source code của nhóm làm việc chung với nhau lên 1 server ( remote)
- Hỗ trợ các thao tác kiểm tra source code của dev trong quá trình làm việc (Diff, Check modifications, ShowLog, …)
- …
Sử dụng GIT vào dự án như thế nào??
Mô hình hoạt động của GIT cần nắm một số khái niệm:
- Repository (repo): là nơi chứa source code.
- Remote: server online.
- Local: server local trên máy.
- Working copy: nơi làm việc trực tiếp trên máy local.
Chúng ta tổ quản lý source code trên máy sẽ được lưu trữ trong local repo, Khi có internet chúng ta có thể “đồng bộ” local repo lên online, tức là sync lên remote repo.
Khi trong team hoàn thành các tính năng và đã sync lên cho server online ( remote repo) thông qua các thao tác ( commit & push).
Thao tác cơ bản của 1 dev khi hoàn thành 1 tính năng:năng:
- Commit: Lưu các thay đổi từ thư mục đang làm việc (working coppy) vào server local (local repo)
- Push: Cập nhật các thay đổi từ server local ở máy(local repo) lên server online (remote repo)
Các thành viên trong team cần lấy về sử dụng cần làm các thao tác:
- Fetch: Để “đồng bộ” mọi thứ thay đổi mới nhất từ server online (remote repo) về server local (local repo) chúng ta sử dụng lệnh fetch ( git fetch)
- Pull: Sau đó để “áp dụng” các thay đổi đó vào source code đang sử dụng.tức là cập nhật từ server local (local repo) vào thư mục đang làm việc (working copy) (git pull)
Các thao tác sử dụng cho GIT
Lệnh
Chức năng
Clone
- Lấy source từ server về server local của máy (local repo).
pull
- Cập nhập source từ server local qua working copy.
commit
- Thêm các thay đổi từ working copy vào sever local.
push
- Cập nhập các thay đôi từ server local lên server online (remote repo)
Checkout
- Đổi từ branch này sang branch khác.
- Cập nhật tới 1 reversion (Mã Hash)
Sử dụng GIT vào triển khai dự án như thế nào??
Để sử dụng cho quá trình triển khai dự án chúng ta sử dụng khái niệm branch của GIT.
branch: được hiểu là 1 nhánh của GIT, và được dev tách ra khi cần thiết. Mục đích để đảm bảo độ ổn định của source code tại 1 thời điểm và tránh việc sử dụng(apply) các code không cần thiết vào.
Đối vs GIT mỗi repo đều thuộc 1 nhánh nhất định ( mặc định sẽ có nhánh: master remote)
1. Tạo dự án với GITHUB
Tạo tài khoản và đăng nhập vào github: https://github.com
Đặt tên và mô tả cho dự án
Chọn Create repository, sẽ được 1 repo remote để chứa dự án
Link GIT của dự án sẽ được tạo theo tên của repo lúc đầu tạo dự án
Ex: https://github.com/HieuTranTrung1204/ittc_firstGame.git
Chúng ta có thể lấy về máy local để bắt đầu code.
GIT đã có sẵn một số lệnh cơ bản như hình.
Sử dụng GIT cho thư mục mới
echo “# ittc_firstGame” >> README.md
Lệnh khởi tạo 1 file README.md với nội dung #ittc_first_Game
git init
Lệnh khởi tạo sử dụng GIT cho thư mục hiện tại
git add README.md
Thêm file README.md vào cho GIT quản lý (working copy)
git commit -m “first commit”
Thêm vào server local (repo local)
git remote add origin https://github.com/HieuTranTrung1204/ittc_firstGame.git
Kết nối server local vào server online (remote)
(Lúc này sẽ yêu cầu nhập username và pass của GITHUB account:
Username for ‘https://github.com': hieu.trantrung1204@icloud.com
Password for ‘https://hieu.trantrung1204@icloud.com@github.com':
Counting objects: 3, done.
Writing objects: 100% (3/3), 243 bytes | 243.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/HieuTranTrung1204/ittc_firstGame.git
- [new branch] master -> master
- Branch ‘master’ set up to track remote branch ‘master’ from ‘origin’.
- )
Kiểm tra lại log trên web của Github và file vừa commit
Sử dụng GIT cho thư mục đã có
git remote add origin https://github.com/HieuTranTrung1204/ittc_firstGame.git
git push -u origin master
2. Thêm thành viên vào team để làm việc nhóm
Để thêm thành viên vào Setting như hình vào nhập vào email hoặc username Github
3. Commit
Làm việc với GIT, sau khi đã clone source về (Thư mục đã hiểu GIT)
Để đẩy code sau khi hoàn thành, chúng ta sử dụng thao tác commit.
Chúng ta có ví dụ Helloworld với Javascript. Xuất ra màn hình web thông báo có chứa nội dung “Hello World”
Code:
<!DOCTYPE HTML>
<html>
<body>
<p>Before the script...</p>
<script>
alert( 'Hello, world!' );
</script>
<p>...After the script.</p>
</body>
</html>
Bước 1: Add, Chọn File và vào ToitoiGit chọn Add
Thêm thành công file vào GIT
Bước 2: Commit
Chuột phải vào thư mục chọn commit
Bước 3: Nhập log để commit
Bước 4: Chọn Push để lưu lên server online (repo remote)
Chọn branch để push (mặc định sẽ chọn master)
Nhập account Github để push source lên server
Push thành công
4. Pull
Để lấy những thay đổi mới nhất của team đã commit lên server online , chúng ta sử dụng lệnh pull
Chuột phải vào thư mục chọn Pull để cập nhập các thay đổi mới nhất từ server
Chọn remote để lấy những thay đổi mới nhất về
Các thay đổi đã được cập nhật thành công
5. Show Log
Xem các thay đổi của source
Sử dụng ShowLog để xem lịch sử thay đổi source code và log
Xem log trên web: https://github.com/HieuTranTrung1204/ittc_firstGame/commits/master
Kết
Ngoài việc GIT giúp làm việc teamwork thì sử dụng Git sẽ giúp quản lý tốt hơn source code cũng như tiến độ làm việc của dự án, tránh rủi ro xãy ra trong quá trình làm việc.
Phần 3. Tạo Game đầu tiên với CocosCreator HelloWorld Count Time