小米便签AS部署之Git的基本使用

1 项目测试截图 及仓库地址

image
image

https://gitee.com/magicfatblink/Notes-master

2 小米便签代码的移植

2.1 IDE 的准备

2.1.1 AS版本选择

由于小米便签是一个很老的项目,距最后一次提交已经有13年的历史了

image

当时Android主流开发软件还是eclipse,本项目原始代码也是基于eclipse运行的,所以我们导入AS的时候需要进行一次转换。实际运行发现,现如今AS的版本(2023.3.2)移除了对eclipse项目移植的功能(这个地方卡了我一天)。在网上查资料,查看别人移植的教程发现,大部分人使用的都是之前的版本。

所以在官网找到之前的版本(我用的是2022.2.1)

https://developer.android.google.cn/studio/archive (这里一定要把语言切换到英文否则下载出错)
下载发现果然该版本有ADT功能(不知道为什么高版本阉割了)

2.1.2 JAVA版本选择

2022版最高支持Gradle 8.. 的版本,对应该版本的是JAVA 17 所以在java版本这里又踩了一个坑。
至于Gradle是什么,就简单的理解成类似于maven就行了

2.2 代码修改

2.2.1 关于JAVA 17代码的修改

文件app/src/main/java/net/micode/notes/ui/NoteEditActivity.java会报错
截取代码中报错的一部分
image

提示我们
image

Constant expression required
经过查资料得知,在JAVA 17以后 switch..case都不支持非常数表达式,如果想使用相同的方法只能用if..else置换达到相同结果。
这下没办法了只能一个个更改
image
其实还有别的方法,换一个Gradle更低的版本以及对应的JAVA即可,但是本着IDE能不改动就不改动的原则还是辛苦置换下else即可,毕竟后者不需要废脑子只是废手

3 Git的使用

项目目前都已经构建测试完成,下面尝试使用git进行管理。对于命令行和小乌龟两种方式(cmd和gui的区别),我更喜欢cmd一些,所以接下来所有操作都基于命令行。

3.1 管理员视角下的Git操作

  • ①创建针对本作业的项目和软件版本库,在版本库中建立“src”和“doc”两个文件夹,分别存储软件系统的源代码和报告文档。为了遵循AS文件管理系统的管理方式,我在/app内放置了src和doc目录、
    image

  • ②建立master、Dev,将当前版本存入master目录下

image

(3) 实践操作参考:组长组员两个人协同开发:组长负责维护开发分支dev,组员向dev上传提交;当dev测试合适后,组长有唯一权限向master上传作为最终结果。
① 远程仓库有master和dev两个分支
② 组长本地有master和dev分支,分别关联对应的远程分支
③ 组员本地只有一个分支,关联远程dev分支【可以选择clone某一个远程分支到本地】
④ 具体开发流程是:
1 组长和组员分别在各自的本地dev分支开发,有阶段性成果后push到远程dev【若有冲突,解决冲突再合并】
2 当开发完成、结果稳定后,组长将本地的master和dev分支merge,再把master分支push上去

  • ③提交原始代码到gitee上
    image

  • ④创建一个Dev分支,从master分支分离(全部copy master分支)
    image

  • ⑤在本地以及远程查看仓库,发现本地只有master仓库没有Dev
    image

  • ⑥所以创建一个本地分支来指向这个Dev
    image

  • ⑦切换分支
    image

  • ⑧假设我已经修改测试完毕,打算提交Dev分支
    image

  • ⑨查看gitee:
    image

  • ⑩提示领先master一个版本,创建一个pull request来推送:
    image

  • ⑩①测试成功
    image
    image

  • ⑩②补充一点,为了模拟完整的开发,需要对master设置保护
    image
    目的是为了小组成员不能控制master

成员视角(非管理员视角)

  • ①在我接受了管理员邀请后,加入了此git项目:
    image

  • ②开始clone代码,注意这里使用选项让我克隆的是Dev分支
    image

  • ③测试一下是不是真的克隆了分支
    image

  • ④我修改了GtaskASync的一个类,然后现在开始提交分支
    image

  • ⑤再去gitee看,已经提交成功
    image

  • ⑥提交request
    image

  • ⑦这时再让管理员审核并且合并就可以了。
    image

关于git对于分别提交相同分支(不审核的条件下)的处理

-两人都对readme英文版进行修改

image

会发现第二个人就会报错,错误冲突,只能解决冲突才能进一步修改。
所以正确的是提交前先拉取,本地合并,然后再提交。

3.4 用到的部分git代码

git clone 链接
git add .
git commit -m "提交信息,不能为空"
git push origin master
git branch 分支
git checkout Dev
git clone -b Dev 链接
posted @ 2024-03-14 22:38  魔法少女小胖  阅读(81)  评论(0编辑  收藏  举报