这个是更详细的教程,主要用到第六条:
[GIT教程-廖雪峰](简介 - Git教程 - 廖雪峰的官方网站)

将Git仓库和GitHub仓库关联

要用Git往GitHub上上传,需要建立本地Git仓库与GitHub远程仓库之间的“安全身份认证通道”,同时实现“唯一身份识别 + 加密数据传输”,最终能让我们安全、专属地向GitHub推送 / 拉取代码。

以下是关联步骤:

  1. 创建SSH Key
    • 创建步骤
      • 在任意文件夹下右键打开Git Bash,输入ssh-keygen -t rsa -C "youremail@example.com",需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可。
      • 登录GitHub,通过右上角头像 -> 设置 -> SSH与GPG公钥 -> 新建SSH密钥,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容(通过cat ~/.ssh/id_rsa.pub查看) -> 添加密钥

用Git上传文件

  1. 准备好需要上传的文件(工程项目只需准备AssetsPackagesProjectsettings),将要用的文件保存在一个新的文件夹里

或者是在Unity工程根文件夹(和Assets同级)新建文件,命名.gitignore,粘贴以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# This .gitignore file should be placed at the root of your Unity project directory
#
# Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore
#
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Uu]ser[Ss]ettings/

# MemoryCaptures can get excessive in size.
# They also could contain extremely sensitive data
/[Mm]emoryCaptures/

# Recordings can get excessive in size
/[Rr]ecordings/

# 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/

# 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
*.VC.db

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

# Unity3D generated file on crash reports
sysinfo.txt

# Builds
*.apk
*.aab
*.unitypackage
*.app

# Crashlytics generated file
crashlytics-build.properties

# OS generated
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

这些是Unity中的缓存、库、配置文件等等东西,它的体积通常非常大,且每个人的电脑生成的内容可能略有不同。如果不忽略它,不仅会严重拖慢 Git 提交和拉取的速度,还会导致无休止的冲突。

  1. 接下来是关联该文件夹与GitHub中的仓库的步骤,如果已完成直接跳转第3步:

    • 初始化本地Git仓库:git init
  2. 在这个文件夹中右键点击 git bash

    • 暂存:git add .
    • 本地提交:git commit -m "备注"
    • 将本地当前分支强制重命名为 maingit branch -M main
    • 关联远程仓库:git remote add origin HTTPS
    • 推送到 GitHub 远程仓库:git push origin main(第一次推送:git push -u origin main

用Git克隆文件

  1. 克隆:git clone ssh

用Git拉取合并文件

注意: 合并时如果本地有修改一定要先add .git commit -m保存本地修改避免丢失,再拉取合并

  1. 拉取并合并:git pull

用Git分支合作

首先,克隆项目并进入项目文件夹:

  • 先同步远程最新代码(不会修改当前文件):git fetch
  • 新建并切换到独立分支:git checkout -b 分支名
    • 切换分支:git branch 分支名
  • 把别人的主分支合并到自己的分支:git merge origin/main

如果合并时出现 CONFLICT(冲突),你只需要:

  1. 打开 VS Code/Unity
  2. 找到标红的文件
  3. 选择保留哪段代码
  4. 保存

解决完后执行:

1
2
git add . 
git commit -m "合并远程主分支代码"
  • 推送到远程仓库:git push origin 分支名

最后需要提交合并请求,去GitHub网页端,新建 Merge Request(Pull Request) ,让团队负责人审核通过即可。