HIT SC Lab1 小小的总结(主要是工具)

Fine,自动机与软构实验轮番轰炸的一周,在自动机考完的晚上,写下这篇有关实验一的思考总结。

Git的使用

软构这门课提交实验的方式与以前的实验不一样,是使用github上传,因此git的使用就成了刚需。接下来讲一下本次实验中发现的几种上传方式。

1、命令行式(git组件)

这个就与Linux和Windows的cmd很像,通过输入内置命令来实现分布式仓库的管理。然后通过一系列git命令就可以实现对文件(夹)的管理。

下面展示一下成功的上传过程(来自实验报告):

把实验所需的文件git clone下来,clone下来的文件在当前cmd目录下

创建本地仓库,选在了GitHub桌面版默认位置(其实哪里都行只要git bash here):

(事实上后来我用的仓库不是这个,而是实验目录)

完事后把P2移入工作目录下,然后自动设置为package,把import文件头加上P2.前缀,否则会因为不是module而无法运行。

版本管理:git add * ,表示把所有文件加入管理,可以看出这里status有更新,且还没commit

Git log查看历史:

Submit阶段,在实验目录下右键git bash here

Git add .

Git commit -m “first commit”

git remote add origin https://github.com/ComputerScienceHIT/HIT-Lab1-120L020318.git

git -u push origin master

登陆后即可传输,结果如下。

MIT的实验界面要我们使用的是这种方法,我用的是https协议,并没有使用到ssh。然后讲一下这期间遇到的一些困难:

1、有一次修改报告时把副本一起传上去了,然后直接在GitHub上进行了delete操作,且并没有fetch回本地,因此之后几次push都不成功。当然更糟糕的是后面网络代理也出了问题,不得不使用git config将https和http删除重来再reset(顺序不太记得了,反正就这几个操作,至于代理怎么有问题,难道科学上网原因?),才得以修复。反正得到的教训就是一定得保持版本的一致,在push前一定要fetch/pull确保最新版本。

2、正常修改时,git push -u origin master时有时会抛出(初期,后期不会)fatal,这是把远端origin删除重新git remote add origin …即可。

2、GitHub桌面版上传

这个简单且粗暴,只需要你有科学上网的途径(doge),正常状况下在你首次登陆后,本地仓库都是默认建立在系统的“文档”的GitHub目录下,.git就是仓库的标志。当然也可以自己改,我就是改成了实验用的目录。

查看历史,自动检测changes,得到difference、一键push的功能也是非常好用。

3、idea上传

当然这个我没试过,不过貌似有学长和同学是这么干的,成功与否未知。只需要在VCS中启动git功能,在联系到GitHub账号,就可以通过右上角的箭头很轻松完成push。不过因为本身自己没试过,也是提供一种思路。

利用idea进行build

群里有大佬是用gradle,我仅仅是使用idea自带的功能构建jar文件。具体步骤也很简单(idea yyds),进入项目结构(project structure)-工件:

点击+号,选择具有依赖项的那个,然后选择主类,输出目录即可。生成后在jar所在目录下用命令行输入java -jar xxx.jar即可。此时需要注意JDK版本。值得小心的是,P1的幻方涉及到路径问题,因此得移到项目根目录下才有用。

还有一个细节,META-INF文件尽量放在不同文件夹下,否则可能主类会串。

Eclipse与IDEA的互通

Eclipse导入IDEA项目,workspace下打开eclipse,点击file-open projects from file system,出现下列界面后直接浏览文件夹就可以:

然后注意保持JDK的一致,在preference里compile等选项修改一下就可以。然后就是不要干idea里作为eclipse项目export的傻事,因为改变了文件结构从而出现一堆错误,最后发现居然什么都不管就可以。建议在GitHub或其他地方有之前正确版本的备份。

Idea导入eclipse:还是项目结构,这次选中模块,选中文件夹后作为eclipse项目导入。总之就挺简单的。。。

实验过程的一些教训:

1、Java的最大特色就是OOP,可以多学习一些库以达到事半功倍效果;

2、Java由于去年只有小学期四周有接触,基础语法并不是很熟练,得多加练习;

3、备份的重要性,玩脱了还可以救回来。

总之,实验一代码算法方面倒是没什么难度,主要就是工具的使用,将我印象深的内容都写在上面了,仅供参考。然后具体的一些操作步骤可能有误,因为是凭记忆写的,如有错误恳请指出!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值