在 .gitignore 的一些坑

博客详细介绍了在Unity项目中遇到的资源文件丢失问题,特别是在使用.gitignore时如何正确配置以避免关键资源被忽略,确保项目正常运行。

在对接其他公司开发的项目时,由于交付给我们的是打包 zip 形式发送源码,一些因素的原因,没有经过太多的验证就上传到我司的代码仓库了。我司另外的 Android 开发人员在 clone 代码之后,结果运行闪退了。查看 log 日志,并没有发现较为显眼的错误。在代码中增加异常捕获也没有抓到相关的 log 。苦恼了一段时间后,我也很好奇,通过查看 error 层级的 log ,最终发现这一段 log

E/Unity: Unable to locate player settings. bin/Data/settings.xml

通过分析在我电脑上的源码之后,发现我的同事 clone 的项目代码中,在 assets 下 ben 文件的资源丢失。通过手动添加之后是编译运行成功了。这时,就知道应该是配置的 .gitignore 出现问题了。

我采用的配置方式是在 GitHub 上 Start 数量最多的 配置文件 。通过校验之后发现原来是 bin/ 的问题。但也很奇怪,这个是必须忽略的,通过查看相关文档发现,项目中把资源目录改成 bin 这种命名方式比较特殊,一些场景下是需要忽略掉的,比如 build/ 但修改它的目录名称又不行,内部使用的 SDK 中,已经把路径写死了。不太好处理。所以只能修改 .gitignore 文件。

通过查看相关文档之后,针对这个项目对 .gitignore 文件,如下:

 

现在的做法,就只修改你当前项目的 gitignore ,追加一个 !语法,过滤全局 bin 目录的情况下,不过滤这个指定的文件夹。


这样避免了缺少文件导致项目运行异常了。

[WeblogicDeploymentPlugin] - the following resource ['/root/.jenkins/workspace/UAT_FN_COA/.git/logs/refs/remotes/origin/dev/branch_332743'] doesn't match coa.war [WeblogicDeploymentPlugin] - the following resource ['/root/.jenkins/workspace/UAT_FN_COA/.git/logs/refs/remotes/origin/master_20241212.bug'] doesn't match coa.war [WeblogicDeploymentPlugin] - the following resource ['/root/.jenkins/workspace/UAT_FN_COA/.git/logs/refs/remotes/origin/branch_disableBtn_20240509'] doesn't match coa.war [WeblogicDeploymentPlugin] - the following resource ['/root/.jenkins/workspace/UAT_FN_COA/.git/logs/refs/remotes/origin/bug/bug_20240709'] doesn't match coa.war [WeblogicDeploymentPlugin] - the following resource ['/root/.jenkins/workspace/UAT_FN_COA/.git/index'] doesn't match coa.war [WeblogicDeploymentPlugin] - the following resource ['/root/.jenkins/workspace/UAT_FN_COA/db/#6195531885'] doesn't match coa.war [WeblogicDeploymentPlugin] - the following resource ['/root/.jenkins/workspace/UAT_FN_COA/db/#6195759597.txt'] doesn't match coa.war [WeblogicDeploymentPlugin] - the following resource ['/root/.jenkins/workspace/UAT_FN_COA/db/#305870.sql'] doesn't match coa.war [WeblogicDeploymentPlugin] - the following resource ['/root/.jenkins/workspace/UAT_FN_COA/db/COA-INIT-RECORDS.sql'] doesn't match coa.war [WeblogicDeploymentPlugin] - the following resource ['/root/.jenkins/workspace/UAT_FN_COA/db/COA-INIT-DATA.sql'] doesn't match coa.war [WeblogicDeploymentPlugin] - the following resource ['/root/.jenkins/workspace/UAT_FN_COA/db/#458274.sql'] doesn't match coa.war [WeblogicDeploymentPlugin] - the following resource ['/root/.jenkins/workspace/UAT_FN_COA/README.md'] doesn't match coa.war [WeblogicDeploymentPlugin] - the following resource ['/root/.jenkins/workspace/UAT_FN_COA/.gitignore'] doesn't match coa.war [WeblogicDeploymentPlugin] - Deploying the artifact on the following target : (name=sbsfnuat) (host=10.190.84.71) (port=80) [WeblogicDeploymentPlugin] - Undeploying artifact ... [WeblogicDeploymentPlugin] - Artifact undeployed successfully. [WeblogicDeploymentPlugin] - Deploying artifact ... java.lang.RuntimeException: task completed abnormally (exit code = 1). Check your Weblogic Deployment logs. at org.jenkinsci.plugins.deploy.weblogic.task.DeploymentTaskServiceImpl.deploy(DeploymentTaskServiceImpl.java:248) at org.jenkinsci.plugins.deploy.weblogic.task.DeploymentTaskServiceImpl.perform(DeploymentTaskServiceImpl.java:178) at org.jenkinsci.plugins.deploy.weblogic.WeblogicDeploymentPlugin.perform(WeblogicDeploymentPlugin.java:303) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:741) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690) at hudson.model.Build$BuildExecution.post2(Build.java:186) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635) at hudson.model.Run.execute(Run.java:1878) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:97) at hudson.model.Executor.run(Executor.java:427) ERROR: [WeblogicDeploymentPlugin] - Failed to deploy. Check your Weblogic deployment logs. 发版遇到了这个错误 和发的新代码有关系吗
10-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值