UE5:使用Git, LFS, and Azure实现项目版本控制

先决条件

安装了Git LFSUnreal Engine,注册了Azure账号

Git:会作为版本控制命令行工具。

Git Large File Storage (LFS):Git 大文件存储 (LFS) 用 Git 内部的文本指针替换音频样本、视频、数据集和图形等大文件,同时将文件内容存储在 GitHub.com 或 GitHub Enterprise 等远程服务器上,帮助您绕过 Git 仓库大小限制,而虚幻项目很快就会遇到这种限制。

Azure:相对比Github,Azure拥有无限的 Git LFS 存储空间,并且完全免费。

初始化设置

创建虚幻工程项目

初始化 Git

在项目所在的顶层文件夹中打开一个终端 or Git。

$ git init

添加.gitignore

还需要设置一个合理的 .gitignore ,这样我们就不会向 Git 添加我们不想跟踪的东西。

在虚幻的工程文件夹中手动创建一个.gitignore文件,并且在文件中添加需要让git忽略的内容,可以在此处找到要添加的内容,也可以根据自己实际需求自行添加。

分享一下我是用的gitignore文件内容:
# Visual Studio 2015 user specific files
.vs/

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app
*.ipa

# These project files can be generated by the engine
*.xcodeproj
*.xcworkspace
*.sln
*.suo
*.opensdf
*.sdf
*.VC.db
*.VC.opendb

# Precompiled Assets
SourceArt/**/*.png
SourceArt/**/*.tga

# Binary Files
Binaries/*
Plugins/*/Binaries/*

# Builds
Build/*

# Whitelist PakBlacklist-<BuildConfiguration>.txt files
!Build/*/
Build/*/**
!Build/*/PakBlacklist*.txt

# Don't ignore icon files in Build
!Build/**/*.ico

# Built data for maps
*_BuiltData.uasset

# Configuration files generated by the Editor
Saved/*

# Compiled source files for the engine to use
Intermediate/*
Plugins/*/Intermediate/*

# Cache files for the editor to use
DerivedDataCache/*

设置 Git LFS

在项目文件夹中手动添加一个 .gitattributes 文件并填充此处的内容 。添加此文件的目的是告诉 LFS 应该存储哪些文件,以及文件是否可锁定。

# Unreal Engine file types.
*.uasset filter=lfs diff=lfs merge=lfs -text
*.umap filter=lfs diff=lfs merge=lfs -text

# Raw Content file types.
*.3ds filter=lfs diff=lfs merge=lfs -text
*.bmp filter=lfs diff=lfs merge=lfs -text
*.exr filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.mov filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.mp4 filter=lfs diff=lfs merge=lfs -text
*.obj filter=lfs diff=lfs merge=lfs -text
*.ogg filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text
*.tga filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.xcf filter=lfs diff=lfs merge=lfs -text

# Anything in `/RawContent` dir.
/RawContent/**/* filter=lfs diff=lfs merge=lfs -text

添加初始化内容

确认项目文件夹中LFS状态

$ git lfs install
> Git LFS initialized.

添加新增文件

$ git add .

检查 LFS 是否会正确处理我们的.uasset 文件

$ git lfs status

一切正常,能看到新创建的工程文件是由git控制还是lfs控制。

第一次提交

确保 Git 使用正确的电子邮件

$ git config user.name "Your Name Here"

该电子邮件要跟 Azure 账号信息一致

$ git config user.email your@email.example

然后

$ git commit

注意,点击commit后会出现上述内容:

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.

这是表明需要手动填写commit的描述文字!遵循下面的操作:

You press i, and you enter insert mode. You can navigate around the text and insert what ever you want. When done, press Esc. This makes you exit insert mode. Next you have to press :wq, which means to write and quit.
(按下 i 键,进入 insert 模式。你可以在文本中导航并插入任何你想要的内容。完成后,按下 Esc 。这将退出 insert 模式。接下来,你必须按下 :wq ,意思是写入并退出)

commit成功后会显示:

检查提交文件的状态

$ git status

Azure 设置

创建一个新的仓库文件

https://dev.azure.com

推送设置

在我们推送之前,您需要进行配置更改以避免出现问题。

git config http.version HTTP/1.1

如果担心在未来的项目中可能会忘记设置此项,可以全局设置该配置

git config --global http.version HTTP/1.1

推送

确保使用 HTTPS 来设置您的远程,因为不幸的是 Git LFS 对 SSH 没有很好的支持。

接下来:

$ git remote add origin https://thenameyoupicked@dev.azure.com/thenameyoupicked/Git%20LFS%20Test/_git/Git%20LFS%20Test

如果上面指令出现以下提示问题:

error: remote origin already exists.

是因为“origin”不可用。“origin”是一个约定,而不是命令的一部分。“origin”是远程存储库的本地名称,可以改写成以下名称:

git remote add myorigin git@github.com:myname/oldrep.git  

当点击“推送”按钮时,应会弹出一个窗口,提示您登录我们之前创建的 Azure 账户。

$ git push -u origin --all

or:

$ git push -u myorigin --all

完成:

如果刷新“存储库”页面,应该会看到刚才提交的工程内容!

欢迎评论交流,如果文章对您有帮助,可以支持下博主。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇