Unity 專案進行版本控制


建立時間: 2022年7月7日 02:07
更新時間: 2024年11月4日 01:16

說明

之前我在深入淺出 C# 的書中看到一篇是關於 Unity 專案進行版本控制
裡面提到使用 Unity Asset Store 的 GitHub for Unity 處理版本控制
但這個外掛已經很久沒更新了,有些功能已經不適用 GitHub 了
本篇說明如何手動將專案上傳到 GitHub

建立 Unity 專案

首先需要建立 Unity 專案,用來示範版本控制
下圖建立一個名為 TestProject 的 2D 專案
如果你本身已經有建立專案,可以忽略此步驟

截圖1.png

GitHub 新增 Repository

  • Repository name: 建議取跟 Unity 專案一樣的名稱,比較方便記憶
  • Description: 描述,可以不填
  • Add a README file: 不要打勾,等等手動初始化 Repository
  • 最後按 Create repository 按鈕

截圖2.png

你會看到 GitHub 提示建立一個新的 repository

截圖3.png

初始化 Repository

打開終端

終端

# 進入 Unity 專案目錄
$ cd path/to/UnityProject

# 按照 GitHub 提示建立一個新的 repository
$ echo "# TestProject" >> README.md
$ git init
$ git add README.md
$ git commit -m "first commit"
$ git branch -M main
$ git remote add origin https://github.com/enjoy-software/TestProject.git
$ git push -u origin main

建立 .gitignore

Unity 專案有些檔案可以不用進行版本控制,節省空間
在 GitHub for Unity 外掛裡面,有一個初始化 git 的按鈕
裡面有附 .gitignore,我直接貼在這裡
直接在 Unity 專案建立 .gitignore 檔案

.gitignore

# This .gitignore file should be placed at the root of your Unity project directory
#
# Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
#
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Mm]emoryCaptures/
/[Uu]ser[Ss]ettings/

# Asset meta data should only be ignored when the corresponding asset is also ignored
!/[Aa]ssets/**/*.meta

# Uncomment this line if you wish to ignore the asset store tools plugin
# /[Aa]ssets/AssetStoreTools*

# Autogenerated Jetbrains Rider plugin
[Aa]ssets/Plugins/Editor/JetBrains*

# Visual Studio cache directory
.vs/
.vscode/
.vsconfig

# Gradle cache directory
.gradle/

# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.utmp
*.VC.db

# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
*.mdb.meta

# Unity3D generated file on crash reports
sysinfo.txt

# Builds
*.apk
*.unitypackage

# Crashlytics generated file
crashlytics-build.properties

# Unity Addressables
/CCDBuildData

將剩下的檔案推送到 GitHub

終端

# 進入 Unity 專案目錄
$ cd path/to/UnityProject

# 檢查 git 狀態,確認是否只上傳預期的檔案
# 如果有不想上傳的檔案,可更新 .gitignore
$ git status
On branch main
Your branch is up to date with 'origin/main'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)
    .gitignore
    Assets/
    Packages/
    ProjectSettings/
    UserSettings/

# 確認沒問題後,將檔案推送到 GitHub
$ git add .
$ git commit -m "簡短說明,例如: 第一次將專案推上 GitHub"
$ git push

確認是否有推上 GitHub

到 GitHub 打開你推上 GitHub 的 Repository 確認是否有看到資料

截圖4.png

Mac 可能會發生,需要安裝 git-lfs

如果你在 mac 遇到需要安裝 git-lfs
就用 brew 安裝 git-lfs 即可

終端

$ brew install git-lfs
$ git lfs install
觀看次數: 1446
controlgitunityversion版本控制
按讚追蹤 Enjoy 軟體 Facebook 粉絲專頁
每週分享資訊技術

一杯咖啡的力量,勝過千言萬語的感謝。

支持我一杯咖啡,讓我繼續創作優質內容,與您分享更多知識與樂趣!