693 lines
21 KiB
Markdown
Raw Normal View History

2023-06-29 11:55:02 +08:00
---
title: Perforce Helix Core搭建
date: 2022-12-21 14:51:55
excerpt:
tags: Perforce
rating: ⭐
---
# Perforce Docker
可以使用这个容器:
https://hub.docker.com/r/sourcegraph/helix-p4d
但这个容器是2020年构建的我这里重新调整了一下并且手动构建成功具体可以参考下文。
## DockerFile构建
大致步骤如下:
1. 下载**blueroseslol/helix-docker**仓库的所有文件。
2. 构建DockerFile。
```bash
cd /home/perforce/helix-docker/helix-p4d/ && \
2024-05-06 16:50:58 +08:00
docker build -f /home/perforce/helix-docker/helix-p4d/Dockerfile -t helix-p4d:2024.5 .
2023-06-29 11:55:02 +08:00
```
2023-07-03 11:49:02 +08:00
docker build --file ./helix-p4d/Dockerfile --tag helix-p4d:2023.7 .
2023-06-29 11:55:02 +08:00
## 使用
```shell
docker run -d --name helix-p4d\
-p 1666:1666 \
-v /home/perforce/p4:/p4 \
2024-05-06 16:50:58 +08:00
helix-p4d:2024.5
2023-06-29 11:55:02 +08:00
```
```bash
docker run -d \
-p 1666:1666 \
-v /home/perforce/p4:/p4 \
sourcegraph/helix-p4d:2020.2
```
2024-05-21 22:16:43 +08:00
admin
pass12349ers
2023-06-29 11:55:02 +08:00
### Github文档
```shell
docker run --rm \
--publish 1666:1666 \
sourcegraph/helix-p4d:2020.2
```
默认端口`:1666`, 默认用户名为 `admin`, 默认密码: `pass12349ers`。以下是所有配置的默认值。
```shell
NAME=perforce-server
P4HOME=/p4
P4NAME=master
P4TCP=1666
P4PORT=1666
P4USER=admin
P4PASSWD=pass12349ers
P4CASE=-C0
P4CHARSET=utf8
JNL_PREFIX=perforce-server
```
可以使用`--env` 覆盖上述环境变量:
```shell
docker run --rm \
--publish 1666:1666 \
--env P4USER=amy \
--env P4PASSWD=securepassword \
sourcegraph/helix-p4d:2020.2
```
请注意尽管服务器在重启后仍能存活即数据被保留但如果你在初始启动后即镜像的第一次运行在选项被硬编码为Perforce Helix核心服务器自身配置时改变选项它可能会中断。要启动一个长期运行的生产容器记得要把数据目录`P4HOME`)容器,把`--rm`标志换成`d`(分离):
```shell
docker run -d \
--publish 1666:1666 \
--env P4PASSWD=securepassword \
--volume ~/.helix-p4d-home:/p4 \
sourcegraph/helix-p4d:2020.2
```
2024-06-07 16:33:23 +08:00
### 启用SSL
首先生成自签名证书:
```shell
mkdir ssl
pushd ssl
openssl genrsa -out privatekey.txt 2048
openssl req -new -key privatekey.txt -out certrequest.csr
openssl x509 -req -days 365 -in certrequest.csr -signkey privatekey.txt -out certificate.txt
rm certrequest.csr
popd
```
接下来设置SSL文件映射目录也就是`P4SSLDIR`的值,并且设置`P4PORT`使用SSL。
```shell
docker run --rm \
--publish 1666:1666 \
--env P4PORT=ssl:1666 \
--env P4SSLDIR=/ssl \
--volume ./ssl:/ssl \
sourcegraph/helix-p4d:2023.1
```
### 时间显示问题
1. 修改容器内系统时区。
2. 修改P4V时间显示Edit - Preferences - Display - Show date andtime asServer time => Local time。
##### Docker容器修改时间
方法一配置Dockerfile镜像时修改这样打包出来的镜像文件是需要的时区的。
操作方式Dockerfile中添加代码
```bash
# 在安装tzdata之前最好先update和upgrade以防apt-get获取不到tzdata
RUN apt-get update -y && apt-get upgrade -y
# 安装,中国用户填写[Asia/Shanghai] ,表示亚洲/上海 ,东八区
RUN apt-get install -y tzdata && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
```
缺点由于构建时需要更新ubuntu所以需要需要网络支持网络不好的时候拖累构建镜像的速度。亲测在中国白天速度快晚上慢。
**建议通过env进行指定**
```bash
ENV TZ=Asia/Shanghai
RUN In -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
```
方法二(强烈不推荐):在运行的容器中,进行修改
操作方式docker attach 登录到运行的容器中执行如下代码
```bash
# 在安装tzdata之前最好先update和upgrade以防apt-get获取不到tzdata
apt-get update -y && apt-get upgrade -y
# 安装
apt-get install -y tzdata
# 配置
echo "Asia/Shanghai" > /etc/timezone
# dpkg-reconfigure -f noninteractive tzdata 或者这个。
dpkg-reconfigure tzdata
```
方法三:启动容器的时候进行设置
操作方式:启动命令中添加 挂载目录,例如:
```bash
# 启动容器时挂载宿主机目录
docker run -v /etc/localtime:/etc/localtime:ro <IMAGE:TAG>
# 其中 -v 参数中ro代表只读模式read only
# 如果您的项目中已经使用了-v 没有关系,启动时挂载多个目录只要写多个-v就可以
```
缺点依赖于宿主机一般生产环境宿主机都是linux如果你也是Linux内核推荐使用
2023-06-29 11:55:02 +08:00
### 推送镜像到Dockerhub
2024-05-06 16:50:58 +08:00
登录
```bash
docker login
# Github
docker login ghcr.io -u 378100977@qq.com -p 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
```
推送
```bash
docker tag 5572f8b12de1 blueroses/perforce-helix-p4d:2024.5
docker push blueroses/perforce-helix-p4d:2024.5
# 登录github
docker push ghcr.io/blueroses/perforce-helix-p4d:2024.5
2023-06-29 11:55:02 +08:00
```
2024-06-07 16:33:23 +08:00
## helix-proxy Docker
Package: helix-proxy
Priority: optional
Section: non-free/vcs
Installed-Size: 30
Maintainer: Perforce Software, Inc. <support+packaging@perforce.com>
Architecture: amd64
Source: perforce
Version: 2024.1-2596294~focal
2024-06-05 18:01:18 +08:00
# IDE设置
- VSCode - Settings - Extensions - Perforce
- Client工作区名称
- Dir工作目录
- Password密码
- Port服务器ip与端口
- User用户名
- Rider - Settings - Version Control - Perforce
- 输入Server、User、Workspace、utf8
2024-05-30 11:35:31 +08:00
# Perforce
## 参考
- 官方文档
2024-05-30 15:31:20 +08:00
- https://www.perforce.com/manuals/p4guide/Content/P4Guide/Home-p4guide.html
2024-05-30 11:35:31 +08:00
- https://help.perforce.com/helix-core/quickstart-unreal/Content/quickstart/game-home-quickstart.html
- 知乎&UE官方文档
- https://docs.unrealengine.com/5.1/en-US/using-perforce-as-source-control-for-unreal-engine/
2024-05-30 15:31:20 +08:00
- [UE5 源码引擎构建&UGS部署与搭建](https://zhuanlan.zhihu.com/p/414193101?utm_id=0)
2024-05-30 11:35:31 +08:00
- [UE4管理多重项目-WiseeEngineering](https://zhuanlan.zhihu.com/p/364346565)
- [UnrealEnigne源码构建&Perforce&UnrealGameSync开发版本控制基础部署](https://zhuanlan.zhihu.com/p/362276094)
- [打通UE4美术资源版本控制关节](https://zhuanlan.zhihu.com/p/261692804)
- [UE5+Perforce+阿里云ECS版本控制搭建流程与工作流程](https://zhuanlan.zhihu.com/p/640743305)
2024-05-30 15:31:20 +08:00
- 视频
- [ [英文直播]版本控制基础 | Version Control Fundamental(真实字幕组)](https://www.bilibili.com/video/BV1tp4y1C7f8/?spm_id_from=333.337.search-card.all.click&vd_source=d47c0bb42f9c72fd7d74562185cee290)
- [配置管理软件Perforce代码版本管理中分支和标签应用示例—4.Local库的分支](https://www.bilibili.com/video/BV14z411b7VB/?spm_id_from=333.999.0.0&vd_source=d47c0bb42f9c72fd7d74562185cee290)
- [配置管理软件Perforce代码版本管理中分支和标签应用示例—5.stream库的分支](https://www.bilibili.com/video/BV1xK41177W1/?spm_id_from=333.999.0.0&vd_source=d47c0bb42f9c72fd7d74562185cee290)
- [P4V进阶教学自用——stream分支基本操作+文件resolve+分支制作](https://www.bilibili.com/video/BV1LC411z76w/?spm_id_from=333.999.0.0&vd_source=d47c0bb42f9c72fd7d74562185cee290)
2024-05-07 17:21:42 +08:00
2024-05-30 11:35:31 +08:00
### cmd
- 设置默认服务器IP`p4 set P4PORT=servername:port`
- 设置默认用户名:`p4 set P4USER=your.username`
2024-06-01 09:28:37 +08:00
- 设置typemap`p4 -P YourPassword typemap`
2024-05-30 15:31:20 +08:00
- 设置p4ignore
2024-06-01 09:28:37 +08:00
- `p4 set P4IGNORE=.p4ignore`
- `p4 ignores`
- `p4 add -f ...`add(add所有文件并且包含文件名含通配符的文件
- `p4 reconcile -aed`:检查所有增加/修改/删除的文件并且放到Pending Changelist
- [p4 clean](https://www.perforce.com/manuals/cmdref/Content/CmdRef/p4_clean.html)
- `p4 clean -a`从工作区中删除没有add的文件。
- `p4 clean -n`:不执行任何操作即可预览操作结果。
- `p4 clean -i`可清除ignore的文件。
2023-06-29 11:55:02 +08:00
2024-05-30 11:35:31 +08:00
## 规划
### 开发目录设计
2024-05-07 10:57:46 +08:00
- [UE4管理多重项目-WiseeEngineering翻译](https://zhuanlan.zhihu.com/p/364346565)
- ArtSource美术资源:引擎中相应的美术资产应该统一从ArtSource仓库导入这样美术人员可以集中在标准资产管线下的资产迭代可以更加集中注意力于美术资产质量所以前提是项目初期必须构建标准稳定的渲染和审核验收流程这一点也是国内很多项目及经常返工开发成本极高的原因
- Engine引擎路径这里我用于个人使用则不需要太多的分流
- Project项目工程
Example:
- e:\\Perforce
- ArtSource
- ShowRoom
- UnrealEngine
2024-05-30 13:57:57 +08:00
### ASoul P4的设计
2024-05-30 11:35:31 +08:00
仓库:
1. EngineStream Depot)
1. 引擎源码
2. ProjectStream Depot)
1. 构建引擎。
2. 项目工程。
3. ArtSourceLocal Depot
1. 美术资产。
2024-05-06 16:50:58 +08:00
2024-05-30 11:35:31 +08:00
#### 分支
1. Release
2. Mainline
3. Development
1. UE4
2. UE5
3. Trunk分支主干
4. shiwan线上分支
1. shiwanxxx
2. shiwanpico
3. ...
2024-05-21 15:02:51 +08:00
2024-05-30 11:35:31 +08:00
使用最暴力的Mainland主干分支开发模式如有试玩需求会创建shiwan分支。
2024-05-30 18:28:33 +08:00
#### 用户
2024-05-31 11:20:09 +08:00
1. admin
2. art
3. director
2024-05-31 18:11:46 +08:00
4. ~~remote~~ (这个用户名无法登陆)
5. qa
2024-05-30 18:28:33 +08:00
2024-06-06 17:32:55 +08:00
#### 权限管理
`//仓库名/分支/目录/...`
2024-06-07 10:55:14 +08:00
1. *
1. read://...
2. art:
1. write://Project/Development/LiveDirector/Content/...
3. director
1. write://Project/Development/LiveDirector/Content/...
4. qa
1. write://Project
2024-06-06 17:32:55 +08:00
2024-05-30 11:35:31 +08:00
#### WorkSpace设置
1. 编码使用UTF8-no bom
2024-05-30 15:31:20 +08:00
2. Connection>Edit Current Workspace>Advanced设置为
1. Line ending characters for text file -> `UNIX style linefeed`
2. OnSubmit -> `Don't submit unchanged files`
3. 勾选
1. Allwrite
2. Clobbr
3. Altsync(直播棚不要勾这个)
2024-05-30 11:35:31 +08:00
2024-05-30 13:57:57 +08:00
#### .p4ignore
```bash
# Ignore IDE related files
.vscode\
.vsconfig\
# Ignore project-specific files
LiveDirector\Binaries\**\*.pdb
LiveDirector\Binaries\**\*-Debug.*
LiveDirector\Binaries\**\*-Shipping.*
LiveDirector\Build\Receipts\*
LiveDirector\DerivedDataCache\*
LiveDirector\Intermediate\*
LiveDirector\Plugins\**\Intermediate\*
LiveDirector\Saved\*
LiveDirector\*.sln
LiveDirector\*.vcxproj
LiveDirector\*.vs\
LiveDirector\*.idea\
LiveDirector\obj\
LiveDirector\**\FileOpenOrder\
Tools\VCluster\Binaries\**\*.pdb
Tools\VCluster\Binaries\**\*-Debug.*
Tools\VCluster\Binaries\**\*-Shipping.*
Tools\VCluster\Build\Receipts\*
Tools\VCluster\DerivedDataCache\*
Tools\VCluster\Intermediate\*
Tools\VCluster\Plugins\**\Intermediate\*
Tools\VCluster\Saved\*
Tools\VCluster\*.sln
Tools\VCluster\*.vcxproj
Tools\VCluster\*.vs\
Tools\VCluster\*.idea\
Tools\VCluster\obj\
Tools\VCluster\**\FileOpenOrder\
# Ignore Engine temporary files
Engine\**\__pycache__\*.pyc
# Ignore temporary files for Editor runs
Engine\Engine\Intermediate\EditorRuns\
# Add back binary-distributed plugins
!LiveDirector\Plugins\DirectorAssistanter\Intermediate\
# Ignore RiderLink
LiveDirector\Plugins\Developer\RiderLink\
# Ingore LiveCoding(?) temporary files
Engine\**\Intermediate\Build\**\*.h.old
# Ignore UnrealInsights temporary files
Engine\Engine\Programs\UnrealInsights\Saved\
Engine\Engine\Programs\UnrealInsights\Intermediate\
# Ignore Node.js moddules for RemoteControlWebInterface
Engine\Engine\Plugins\VirtualProduction\RemoteControlWebInterface\**\node_modules\
Engine\Engine\Plugins\VirtualProduction\RemoteControlWebInterface\**\package.json
Engine\Engine\Plugins\VirtualProduction\RemoteControlWebInterface\**\package-lock.json
Engine\Engine\Plugins\VirtualProduction\RemoteControlWebInterface\WebApp\**\build\
Engine\Engine\Plugins\VirtualProduction\RemoteControlWebInterface\WebApp\Server\public\
# Ignore all Engine files.
Engine\
# Ignore Ts History
LiveDirector\ts_file_versions_info.json
```
2024-05-30 11:35:31 +08:00
## 搭建p4顺序
2024-05-21 15:02:51 +08:00
1. 搭建Perforce服务
2024-05-30 11:35:31 +08:00
2. 创建一个Stream Depot或者所有Depot。
2024-05-21 15:02:51 +08:00
3. 设置 p4 typemap
2024-05-30 11:35:31 +08:00
4. 创建MainLine分支
5. 添加.p4ignore文件
6. 创建一个工作区,设置工作区设置后上传文件。
2024-05-21 15:02:51 +08:00
2024-05-06 16:50:58 +08:00
## Typemap
typemap 的设置能够在 Perforce 中控制文件的只读和可写的形式。 然后要做这件事情需要管理员先在命令行cmd下设置 P4 的环境变量。
2024-05-07 10:57:46 +08:00
在指定仓库上右键,点击`Open Command Windows Here`,输入`p4 -P YourPassword typemap`即可在弹出的txt文件中修改保存关闭即可。(输入UE官方推荐的内容即可)
```text
# The form data below was edited by Jeff
# Perforce File Type Mapping Specifications.
#
# TypeMap: a list of filetype mappings; one per line.
# Each line has two elements:
#
# Filetype: The filetype to use on 'p4 add'.
#
# Path: File pattern which will use this filetype.
#
# See 'p4 help typemap' for more information.
TypeMap:
text //....asp
text //....cnf
text //....css
text //....htm
text //....html
text //....inc
text //....js
2024-05-30 15:31:20 +08:00
text //....ts
2024-05-07 10:57:46 +08:00
text+w //....log
text+w //....ini
text+w //....pdm
binary+Fl //....zip
binary+Fl //....bz2
binary+Fl //....rar
binary+Fl //....gz
binary+Fl //....avi
binary+Fl //....jpg
binary+Fl //....jpeg
binary+Fl //....mpg
binary+Fl //....gif
binary+Fl //....tif
binary+Fl //....mov
binary+Fl //....jar
binary+l //....ico
binary+l //....exp
binary+l //....btr
binary+l //....bmp
binary+l //....doc
binary+l //....dot
binary+l //....xls
binary+l //....ppt
binary+l //....pdf
binary+l //....tar
binary+l //....exe
binary+l //....dll
binary+l //....lib
binary+l //....bin
binary+l //....class
binary+l //....war
binary+l //....ear
binary+l //....so
binary+l //....rpt
binary+l //....cfm
binary+l //....ma
binary+l //....mb
binary+l //....pac
binary+l //....m4a
binary+l //....mp4
binary+l //....aac
binary+l //....wma
binary+l //....docx
binary+l //....pptx
binary+l //....xlsx
binary+l //....png
binary+l //....raw
binary+l //....odt
binary+l //....ods
binary+l //....odg
binary+l //....odp
binary+l //....otg
binary+l //....ots
binary+l //....ott
binary+l //....psd
binary+l //....sxw
binary+S2w //....exe
binary+S2w //....dll
binary+S2w //....lib
binary+S2w //....app
binary+S2w //....dylib
binary+S2w //....stub
binary+S2w //....ipa
binary //....bmp
text //....ini
text //....config
text //....cpp
text //....h
text //....c
text //....cs
text //....m
text //....mm
text //....py
binary+l //....uasset
binary+l //....umap
binary+l //....upk
binary+l //....udk
binary+w //....exe
binary+w //....dll
binary+w //....lib
binary+w //....app
binary+w //....dylib
binary+w //....stub
binary+w //....ipa
binary //....bmp
text //....ini
text+w //....config
text //....cpp
text //....h
text //....c
text //....cs
text //....m
text //....mm
text //....py
binary+l //....uasset
binary+l //....umap
binary+l //....upk
binary+l //....udk
binary+l //....ubulk
text //....ignore
```
2023-06-29 11:55:02 +08:00
## 相关概念
### Workspace
2024-05-31 11:20:09 +08:00
- 官方工作区文档:https://www.perforce.com/manuals/p4guide/Content/P4Guide/configuration.workspace.options.html
2024-05-30 11:35:31 +08:00
Workspace可以理解为depot到本地的一个映射对应本地的一个目录**存储了该工作区域的相关设置以及历史记录**。
2023-06-29 11:55:02 +08:00
新建Workspace在p4admin中depot查看在服务器中存放的所有Ddepot仓库
2024-05-07 10:57:46 +08:00
开发的过程中可以有多个Workspace例如一个用来开发一个用来更新验证保证提交没有错误但一般只推荐有一个Workspace。
2024-05-31 11:20:09 +08:00
### WorkspaceView
- 官方工作区文档:https://www.perforce.com/manuals/p4guide/Content/P4Guide/configuration.workspace_view.html
2024-05-31 11:54:58 +08:00
PS. 非流用户可以通过以下方式更新客户端工作区视图
1. 调用 **[p4 client](https://www.perforce.com/manuals/cmdref/Content/CmdRef/p4_client.html)** 命令,打开客户端规范。
2. 编辑 **View:** 客户端规范中的字段。
2024-05-21 23:04:08 +08:00
### AltSync
这是一种2024.1推出的新的同步技术,允许您减少从库同步到客户端工作区时的初始等待时间,从而加快工作速度。您可以节省时间、磁盘空间和网络带宽,因为您只在需要时下载所需的内容。相关文档:
- 文档:
- https://www.perforce.com/manuals/p4vfs/Content/P4VFS/p4vfs-intro.html
- https://www.perforce.com/manuals/p4vfs/Content/P4VFS/p4vfs-and-p4v.html
- p4vfs需要额外安装
2024-05-22 10:36:51 +08:00
- https://www.perforce.com/downloads/helix-core-virtual-file-service
2024-05-21 23:04:08 +08:00
2024-05-07 10:57:46 +08:00
### P4ExcludeList
### .p4ignore
2024-05-30 13:57:57 +08:00
创建`.p4ignore`文件后执行命令行设置ignore
2024-05-07 10:57:46 +08:00
```bash
p4 set P4IGNORE=.p4ignore
p4 ignores
```
```text
# Ignore project files in the root
*.sln
!*\*.sln
.vs
*.suo
*.opensdf
*.sdf
*.pdb
*-Debug.dll
*.xcodeproj
.\Makefile
.\CMakeLists.txt
.\.ue4dependencies
ipch\*
# Packaged engine builds
LocalBuilds\*
# DDC should never be checked in
Engine\DerivedDataCache\*
Templates\**\DerivedDataCache\*
# Engine intermediates & binaries
Engine\Intermediate\*
Engine\Plugins\**\Intermediate\*
Engine\Programs\**\Intermediate\*
Engine\Binaries*
Engine\Plugins\**\Binaries\*
# Feature Packs (they might get updated with langauge packs?)
FeaturePacks\*
# Samples & Templates
Templates\**\Intermediate\*
Templates\**\Saved\*
Samples\**\Intermediate\*
# C# Intermediate folders
Engine\Source\Programs\**\obj\*
Engine\Platforms\**\Programs\**\obj\*
# Saved folders for programs should not be checked in
Engine\Programs\**\Saved\*
Engine\Programs\UnrealBuildTool\*
# Ignore any saved local files
Engine\Saved\*
# Ignore any build receipts
Engine\Build\Receipts\*
# Ignore Unix backup files
*~
# Ignore Mac desktop services store files
.DS_Store
# Ignore crash reports
crashinfo--*
# Ignore linux project files
*.user
*.pro
*.pri
*.kdev4
#
# Setup.bat Ignores
#
# There already might be some files pushed into the repo that would otherwise be
# filtered: those are from the initial commit, coming directly from UE4-GitHub.
# After running Setup.bat, the folders below will be populated with ~46GB of
# files. Hence we'll be blanked ignoring some directories such as ThirdParty,
# Media, Content, etc. If we want to change anything in those blanked-ignored
# folders, we should unignore the specific thing we're adding.
#
.git\*
Samples\**\Content\*
Samples\**\Media\*
Templates\**\Content\*
Templates\**\Media\*
Templates\Media\*
Engine\Platforms\**\Content\*
Engine\Documentation\*
Engine\Extras\*
Engine\Content\*
Engine\Build\*
Engine\Source\ThirdParty\*
Engine\Source\Programs\*
Engine\Source\Developer\*
Engine\Plugins\*
# Specific files
Engine\Config\ShaderCategories.csv
.tgitconfig
.ue4dependencies
# After all this above, there's still a couple folders and files left that doesn't
# fit the filtering criteria above, so we handle them individually here.
Engine\Source\Runtime\Navmesh\RecastDemo*
Engine\Source\Runtime\Launch\Resources\Mac*
Engine\Source\Runtime\Launch\Resources\Linux*
Engine\Source\Runtime\Experimental\Voronoi\Private\voro++*
Engine\Source\Runtime\Apple\MetalRHI\Public\ue4_stdlib.metal
Engine\Source\Runtime\AVEncoder\Private\Microsoft\Windows\ThirdParty\NvEncoder\LicenseAgreement.pdf
Engine\Source\Runtime\Experimental\Chaos\.clang-format
Engine\Source\Runtime\TraceLog\Private\Trace\LZ4\Epic.patch
Templates\TemplateResources\Standard\*.FBX
#
# PLUGINS
#
# Plugins that come with Setup.bat are ignored above altogether, so we un-ignore
# the custom plugins we want to ship with the customized UE4.
!Engine\Plugins\Marketplace*
!Engine\Plugins\Runtime\HoudiniEngine*
# ... but keep ignoring their Build & Intermediate
Engine\Plugins\Marketplace\**\Intermediate\*
Engine\Plugins\Marketplace\**\Binaries\*
Engine\Plugins\Runtime\**\Intermediate\*
Engine\Plugins\Runtime\**\Binaries\*
#
# PackageEngine.bat Ignores
#
# Packaging the engine will generate some .ini files which are safe to ignore
#
Samples\**\Saved\*
```
2024-07-22 15:25:14 +08:00
### Job
- https://www.bilibili.com/video/BV13C4y1s73M/?spm_id_from=333.999.0.0&vd_source=d47c0bb42f9c72fd7d74562185cee290
可以关联多个Commit并且可以设置状态以此追踪一个功能或者Bug的工作状态。比较像git的Issue以及工单系统。
### 分支合并
分支切换需要修改设置以防止增加工作区Preference - Stream - "Work in this Stream" menu behavior选项设置为Reuse current workspace。
2024-05-07 18:13:59 +08:00
## Helix4Git
2024-05-08 10:57:45 +08:00
- 官方文档
- https://www.perforce.com/manuals//helix-for-git/Content/Helix4Git/install-config.install.html
- https://www.perforce.com/manuals//helix-for-git/Content/Helix4Git/install-config.config.html
- 代理商知乎
- https://zhuanlan.zhihu.com/p/545765248
2024-05-07 18:13:59 +08:00
DockerFile搞起来太麻烦……
2024-05-06 16:50:58 +08:00
2024-06-07 16:33:23 +08:00
# Perforce Proxy
- 官方文档
- https://www.perforce.com/manuals/p4dist/Content/P4Dist/chapter.proxy.html
一种用于同步主Perforce服务器数据的远程服务器。适合远程的分布式协作。
2024-05-30 11:35:31 +08:00
# 其他
## 注册源码引擎到EpicGames
经过上面的步骤,源码引擎已经构建成功,但是在对项目就行选择引擎版本的时候,发现并没有这个版本 。这是因为构建的引擎没有注册到EpicGames中找到EpicGames安装目录下的注册器。复制到源码工程并且运行即可。
```text
Launcher\Engine\Binaries\Win64\UnrealVersionSelector.exe
```
2024-08-24 15:21:46 +08:00
# Perforce问题解决
## 大小写问题解决
我想到一个解决方案,就是删除这个文件夹,之后分别以为大写与小写文件名,再拉新就可以把资产都拉下来。
1. 删除文件夹。
2. 新建 Nailin_Birthday2024_V02拉新备份后比较效果。
3. 新建 NaiLin_Birthday2024_V02拉新备份后比较效果。
4. 替换旧与错误资产。
5. 删除服务器上的Nailin_Birthday2024_V02与NaiLin_Birthday2024_V02文件夹。
6. 重新上传。