GitHub là một dịch vụ nổi tiếng cung cấp kho lưu trữ mã nguồn Git cho các dự án phần mềm. Khi các team phát triển chung 1 dự án thì việc chia sẻ mã nguồn với nhau là điều cần thiết, đối với các dự án về game cũng thế. Bài này sẽ hướng dẫn cách thức một team phát triển game trên nền tảng Unity có thể chia sẻ code và quản lý version code của dự án.
Yêu cầu thực hiện việc chia sẻ mã nguồn:
- Có unity hub
- Tải git client : https://git-scm.com/downloads
- Đăng kí tài khoản github.
Tạo project và cấu hình version:
Bước 1: Tạo project trên unity. (Bước 2 và 3 chỉ kiểm tra hoặc bỏ qua vì unity version mới đã được cấu hình mặc định)
Bước 2: Edit -> Project Settings, search “version” và kiểm tra Version Control có mode là “Visible Meta Files”.
Bước 3: Edit -> Project Settings -> Editor -> Assets Serialization có mode là “Force Text”.
Khởi tạo project trên git
Bước 1: Mở cmd (Win) hoặc terminal (Mac)
Bước 2: Dùng lệnh cd để đi vào thư mục project.
Bước 3: Dùng lệnh git init để thêm cấu hình git vào project, nó sẽ tạo ra 1 thư mục ẩn .git trong project để giữ nhưng file điều khiển version.
Bước 4: Dùng lệnh git status để thấy trạng thái hiện tại của git và nó sẽ giống như hình:
Cái gì nên commit, cái gì nên bỏ qua?
Trong project không phải cái gì cũng push lên, nên ta sẽ xem xét các thư mục cần push và thư mục nào nên bỏ qua vì Unity sẽ tạo tự động cho ta.
Các thư mục trong project chia làm 3 loại:
- Source file: Thư mục chứa file source của chúng ta VD: Scenes, source, code… được lưu trong thư mục Assets.
- Transient file: thư mục tự sinh do unity tự tạo ra, VD: Library và Logs.
- Local settings: file cấu hình cục bộ theo máy của chúng ta. VD: /UserSettings
Tearm của chúng ta chỉ cần những loại file thuộc Source file, 2 loại còn lại Unity sẽ tự sinh ra. Vậy ta sẽ cần tạo ra file .gitignore để chỉ ra các file cần bỏ qua. GitHub cũng cung cấp sẵn file mẫu này ta có thể download tại đây
Ta sẽ tạo ra file .gitignore và copy nội dung ở file mẫu hoặc download file mẫu mà sửa tên thành .gitignore.
Trên window: tự làm hoặc cài curl và dùng lệnh bên dưới để download file về curl https://raw.githubusercontent.com/github/gitignore/master/Unity.gitignore –output .gitignore
Trên macos (cũng có thể dùng cách cài curl):
Bước 1: Ở terminal vào thư mục project dùng lệnh ls -a để xem thư mục có chứa file ẩn, tạm thời chưa lấy file này.
Bước 2: Dùng lệnh touch .gitignore để tạo ra file ẩn rồi dùng lệnh ls -a để xem lại thư mục xem đã có file .gitignore chưa.
Bước 3: Mở file lên bằng cách qua finder, bấm shift+command+. để hiện file ẩn sau đó click phải chọn open with và mở nó bằng Visual Studio Code.
Bước 4: Mở file mẫu trên web, chọn nút raw để chuyển thành thuần văn bản sau đó copy và paste xuống file đang mở trên visual studio code rồi lưu file lại.
Bước 5: Kiểm tra 1 lần nữa bằng cách chạy lệnh git status để thấy rằng các thư mục được push lên sẽ giảm xuống còn vài thư mục như hình thôi.
Staging (Dàn dựng) file để commit
Quá trình lưu các thay đổi vào git được gọi là commiting. Giờ ta đã sẵn sàng commit lần đầu tiên, việc đầu tiên ta làm là nói với git những file nào ta muốn commit, nó được gọi là “staging” file to commit.
Bước 1: Chạy lệnh git add. Dấu . để add mọi thứ trong thư mục hiện tại.
Bước 2: Chạy lệnh git status để thấy trạng thái mới. Đến đây ta thấy rằng mọi thứ đã được move vào “Changes to be committed”.
Bước 3: Chạy lệnh: git commit -m “commit lan dau, project rong”
Share lên github
Giờ chúng ta đã có project trong local git repository (kho lưu trữ cục bộ) và chúng ta sẽ tiến hành share lên github. Để chia sẻ với team chúng ta cần “push” (đẩy) các thay đổi mà chúng ta đã commited trong local git repository.
Chia sẽ các repository được hiểu như các remote repository và việc gửi những thay đổi từ local repository lên remote repository được gọi là pushing.
Github là dịch vụ cho phép ta tạo các remote repository trên cloud.
Bước 1: Truy cập github, đăng nhập tài khoản, nhấn dấu + và chọn new repository để tạo một repository mới, nhập tên repository và nhấn nút create để tạo.
Bước 2: Đến đây ta đã tạo xong repository và nó ra các lệnh hỗ trở cũng như link để liên kết như hình:
Bước 3: Copy lệnh git remote add… như hình và paste vào terminal (cmd) để chạy.
Bước 4: Sau đó chạy lệnh git push –set-upstream origin master rồi nhập username và password, sau khi nhập xong nó báo lỗi không còn hỗ trợ password mà phải dùng access token.
Tạo Access token
Bước 1: Quay về github, chọn avatar rồi chọn Setting.
Bước 2: Ở menu bên trái kéo xuống dưới chọn Developer settings.
Bước 3: Rồi chọn Personal access tokens -> Tokens (classic).
Bước 4: Qua nút bên phải chọn “Generate new token (classic).
Bước 5: Đánh vào note, chọn Expiration, check repo rồi nhấn nút Generate token.
Bước 6: Đến đây ta có 1 token, cope token này:
Bước 7: Quay lại terminal, dùng lại lệnh git push –set-upstream origin master nhập username bình thường, khi hỏi password thì paste token vào.
Bước 8: Kiểm tra lại để thấy project đã được đưa lên.
Thành viên clone code
Thành viên clone project về, sau đó mở Unity Hub và chọn open rồi chỉ đến thư mục vừa clone về là xong. Sau đó có thay đổi gì thì thành viên chỉ cần dùng lệnh git add. rồi đến git commit -m “commit nua ne” sau đó kiểm tra lại git status.
Đến đây kết thúc phần unity + git, các phần xử lý sâu về git không nằm trong phạm vi bài viết này. Các bạn có thể tự tìm hiểu thêm trên internet. Chúc các bạn thành công!
Giảng viên Nguyễn Đỗ Anh Khoa
Bộ môn Công nghệ thông tin
Trường Cao đẳng FPT Polytechnic cơ sở TP HCM