在本文,笔者将会教大家一个相对来说比较实用的小技巧,那就是怎么用git 打开unity 工程,百度了一下,嘿嘿,全网首发呐~
需求:
对着文件夹右键,git bash here,然后就是一系列的git log ,git pull ,那做完这些同步操作,能不能紧接着使用git unity 指令使用Unity 打开这个unity工程呢?
我的答案是:yes!
OK,下面我们按步骤来实现一下:
1 . 如何自定义git 指令。
2 . 如何使用git 获得当前unity 的工程根目录。
3 . 怎么使用命令行唤起unity并打开指定工程。
4 . 怎么整合出这个开篇提到的git unity 开启unity仓库。
实现:
一、自定义git 指令
在git如何自定义指令呢,很简单(本文只讲全局设置),在一个名为“.gitconfig”的文件里面加上[alias]
,然后在其下写自己的指令就行。
这个文件在用户文件夹下,形如:“C:\Users\Bian’s PC”
CMD键入如下通用代码,可直接使用notepad打开它(如果有的话,否则提示新建):
notepad %systemdrive%\users\%username%\.gitconfig
二、使用git 获得当前unity 的工程根目录
这个笔者也是bing 搜索得到的,这个指令如下:
git rev-parse --show-toplevel
三、使用命令行唤起unity并打开指定工程
git bash 里面输入的是一行行指令,那以指令的方式开启unity并同时传进路径便是这一步我们要操心的事了。
别担心,unity支持命令行启动和命令行参数传递,所以我们拼接一个带工程路径参数的命令行,这样使用系统shell便能将unity唤起并打开你指定的工程啦。
D:\\Program Files\\Unity3D2017.3.1f1\\Editor\\unity.exe\" -projectPath $workpath
//1. git bash 中的路径反斜杠写2个才能正常被识别
//2. $workpath 这里写你的工程地址 ,在本例中则使用的用户变量来表示,传入第二步实时获取的路径
//3. 该文的姊妹篇中也用到了这个理念,只是用%1这个系统变量来表示右键点击事件发生时光标所在的文件夹的路径。
有兴趣的可以深入的看看,在unity自动打包中也能用的上,assetsbundle打包也可以用命令行执行呢!
四、实现git unity 指令开启Unity仓库
第一步,打开 %systemdrive%\users\%username%\.gitconfig
这个文件
第二步,键入如下代码:
[alias]
chs = "!f(){ git checkout \"$1\" && git status; };f"
unity = "!f() { \
trap 'echo ERROR: 不是一个有效的Git仓库!; return' ERR; \
workpath=$(git rev-parse --show-toplevel);\
exec \"D:\\Program Files\\Unity3D2017.3.1f1\\Editor\\unity.exe\" -projectPath $workpath ;\
};\
f"
Tips:请务必注意那个Unity的路径可是要换成你自己的哟!
第三步,开启git bash食用,如下动图演示
演示
扩展阅读:
1 .怎么获得git仓库根目录-stackoverflow
2 . Git 基础 - Git 别名
3 .Git 别名-廖雪峰
4 .git alisa 多参数-stackoverflow
5 .git config文件总结及git alias配置 - 看风景就 - 博客园
写到最后:
- 最近打开Unity总是强制要求登录账号,其实用命令行模式开启就能跳过啦,所以你确定不试试?
- 不喜欢?那还可以试试:Unity3D 一键设置文件夹右键菜单打开Unity工程 - 简书