6.2 KiB
Git使用规范
躲猫猫分支说明
【develop】开发稳定版本分支
【feature/XXX】开发中的内容分支,如无协作需求,一般存放在本地
【release/V7.3.x_release】手机渠道发布分支(也是全量内容分支)
【bugfix/XXX修复】BUG修复分支
分支命名规则
-
道具卡和角色Demo制作的分支:demo/道具卡-手榴弹-阿白
-
正式的需求开发分支:feature/feature_阿牛/【需求名与策划方统一】-阿牛
-
BUG修复和优化:bugfix/【需求名+修复内容】-火柴
-
性能优化相关的feature:opt_feature/【优化事项】-摩卡
注意:分支名字的目录名统一小写,否则会导致错误,拉取失败
提交规则
1、commit&push之前一定要先拉新,保证本地和远端的版本是一致的。(否则会有各种难看的merge记录)
- 如果拉新不下来,则应先把自己的改动【贮藏】,拉新后再应用【贮藏】,解决冲突后再提交
- 如果已经本地提交,有一个小技巧:先从当前分支开一个新的分支->再拉新原分支->切换回原分支,把新分支的本地提交遴选到原分支上
2、提交前一定要逐个对比修改的文件,以确保是自己的修改,不要上传非自己的改动。
3、在第一次提交时就确认好提交的文件名,路径名是否已是正式的,大小写是否合理,尽量在首次提交Git就确保名字的正确性,以防止后续的改名操作
4、如无必要,尽量少提交类似Lobby.scene这种场景文件。(场景中的蓝色部分是prefab,Apply后提交Prefab即可)
5、如果你的分支无需与其他人协作,则不要推送到远端,本地提交后合并到主干即可
合并流程
- develop作为一个稳定的开发分支,为了保持其稳定性,需要对所有合入develop的请求进行review。
- review负责人:阿白、阿超-->火柴;西瓜、犀利-->阿牛;兔子、火柴、阿牛-->约克
- Gitea请求合并的操作流程Gitea请求合并流程
- 如果没有冲突,直接到Gitea后台请求合并即可。
- 如果有冲突,建议用下述方法操作:
拉新develop,从develop开一个新的分支,先把feature分支合并到新分支,解决完冲突,自测无误后,再到Gitea后台请求合并
注意,以下规范是为了避免合并出错(合并出错,覆盖别人的提交等)而制定的,请务必学会并遵守
1、尽量不要使用把develop合到feature,再把feature合到develop的操作。会导致develop分支的提交线混乱。原则是合并的方向永远是从分支到主干,从feature到develop。
2、如果在开发中需要合并develop内容(即少数情况),如果只是需要单个提交内容,遴选即可;如果需要全部内容,操作方法应该是从develop开一个新的分支,把旧分支的内容合并到新分支上。然后在新分支的基础上继续开发,废弃掉旧分支。
3、从Release拉出来的分支只能往Release合,从Develop拉出来的分支只能往Develop合,不能混着合,如有特殊需求,请找**@约克** 当面确认
4、合并的时候遇到冲突,必须找到当事人(该文件的提交者)一起解决冲突,不要根据自己的猜测来合,否则后果自负
2、封版锁发布分支后,如果有优化或者BUG修复,先拉一个bugfix分支修复,推送到远端,然后使用Gitea后台【创建合并请求】,具体步骤参考文档:Gitea请求合并流程
效率小技巧
1、卡顿优化
- 使用ssh。具体教程链接(如已跟从Git安装与使用 安装设置了Git,则已完成了这一步)
- 如果觉得还是卡,可参考这里做一些设置上的优化
2、SourceTree替代工具(推荐程序用)
- 使用小乌龟TortoiseGit,可方便查看历史记录,比对差异
\192.168.4.250\常用软件\办公软件\u3d\git\TortoiseGit-2.11.0.0-64bit.msi
- 使用SmartGit,可以方便比对差异
\192.168.4.250\常用软件\办公软件\u3d\git\SmartGit
- SourceTree的优势是分支直观,切换分支方便。推荐根据个人需求组合使用~
3、常用Git命令(真的很常用,建议熟记,对提高效率帮助很大)
命令会比sourcetree的执行效率快很多,极大提高效率
在SourceTree右上角-->命令行模式,可快速打开命令行操作界面
1、还原所有本地改动(不区分目录):git reset --hard
2、删除当前目录下新增文件:git clean -df
3、删除指定目录下的新增文件: git clean -f
4、清除当前目录下的修改(不包括新增):git checkout -- .
5、清除指定目录下的修改(不包括新增):git checkout --
Git常见问题解决方案
1、error: cannot stat ‘path‘: Permission denied
解决方案:关闭占用此项目的所有程序
例如关掉Unity,关闭Rider,关掉表格等
2、空文件夹
- Git不支持空文件夹,如果你想提交一个空文件夹,应该在这个文件夹下建一个隐藏文件.gitkeep
- 如果发现本地老是莫名其妙的多出meta文件,则可能是本地存在一个空的文件夹,去对应目录把空文件夹删除即可(也可以用Tools->删除空目录工具一键删除)
3、多人同时提交冲突
如果有多人同时在一个分支上提交,把立即推送变更勾上,以防止双方版本不一致导致的各种问题
4、大小写问题
可通过命令行设置关闭忽略大小写
git config core.ignorecase false
true表示忽略大小写,false表示打开大小写