pc8888888 发表于 2022-5-26 14:53

Git管理Unity全攻略

关于代码管理,或者版本管理,其实应该有一个最短路径,或者懒人方法。但不幸的是GIT却不这么认为,反正就是随你怎么干都行,造成流程千奇百怪(当然这是分布式和开源使然),虽然这么多年我都没搞清楚GIT或者GITHUB哪里分布式了??
我们一介平民,只是想过简单而安稳的日子而已,真的太难了
这里只是记录一下从0开始的一个开源项目
首先,注册一个项目。github很卡,所以用了oschina的码云

(2022年,码云 gitee 要审核才能发布项目,还是用回github)
然后,安装git,应该是官方的,也很卡,找个镜像或者去CSDN下载

(据说 阿里 的镜像很有用)
!注意,我没写错,git和github是2个东西
区别是:
git 是一个通用协议和工具,
而github是这地球上最大的同性交友网站
============================================
完成了上面2步骤后,我一开始输入:
git clone xxxgit.com/your_proj_name发现不太适合Unity用,本地明显有unity项目了,怎么和网站上刚建立的项目的
git clone xxxgit.com/your_projnamelocal_folder如果你的local_folder输入正确,会提示不是空目录,解决方法:
cd local_folder
# 目录里面应该已经包含Assets, ProjectSetting,Library等目录
# 因为就算你用上一个方法,先pull添加远程的目录,再添加unity项目时又会提示你不是空目录,以前的Unity是不行的,现在不知道,
# 安全起见,我们就换一个git的写法
# 是的,下面开始换了一个写法,前面都是费的,git就是这么吊,做了那么多无用功,浪费了程序员青春,还以为自己很吊
git init
git pull origin xxxgit.com/your_projname
# 写完上面2句,算是完成一半了,已经把远程的目录和本地项目关联
上面一个分支,下面又有很多分支,我用了这个方法,或者和网上的不同,不知道对不对。
git pull之后,我懒得一个个add或者批量add -a
所以,第三步,安装乌龟GIT,把本地项目同步到远程网站,

乌龟GIT的很多操作和SVN很不同,也很多,但这不是重点,之后开会开另一个文章讲解乌龟GIT的各种骚操作。
在Unity項目右鍵,push


我就记得没这么简单的, local是空的,强行push会提示branch empty,网上很多步骤说什么切换branch的,我怀疑那些转载者到底自己有没把自己绕晕
也有人用GIT-GUI的,阁下也是佩服十分,反正,我马上就会说到为什么可视化不行。
第四步,选择一个文件,例如readme.md,右键->Commit



这下local不是空了

这里其实我明显的用了gui,简单的还可以混用,复杂的就直接能坑你2天
再次PUSH,应该可以了吧
结果,悲剧了
查了一下,有地方可以输入 push --参数么??好像没有哦
结果又得回到原点,这就是GUI必然失败的原因,GIT就是这么有个性,无线可能 ,却没有什么能做的
$git pull origin master --allow-unrelated-histories这下才清净了,才选完全把远程项目和本地项目关联了
而且必须是执行了上面步骤4,创建本地master后才能生效,不确定,要是前面的步骤少了一步,又不知道出什么古灵精怪的提示
如果林不是傻,只会一步步来,是不可能用好GIT的
这里没有懒人方法。。。。。。。

以下省略一万字:
。。。。。。。。
期间,出现过.gitnore文件重名,签名不对,等等问题
反正搞了几个小时候后,才算把包含2个代码文件的项目搞定
最后终于绿了。安逸

项目示例链接::

像python或者snap,主要目录是/Assets/3rd/,按照上面的步骤都执行完,就应该能附着在你的测试项目上,(没有提供Assets和ProjectSetting目录)
扩展kuo'zhankuo'zhakuo'zhkuo'zkuokuk
Http下载,SSH提交的方法(基于 SourceTree)

有亿点点复杂
github在2021之后,必须ssh提交了,原http验证已经屏蔽,必须用ssh
参考:

GitHub怎样fork别人的代码到自己仓库并进行贡献 - jack_Meng - 博客园
页: [1]
查看完整版本: Git管理Unity全攻略