博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用码云和博客园学习简易教程
阅读量:5775 次
发布时间:2019-06-18

本文共 5068 字,大约阅读时间需要 16 分钟。

使用码云和博客园学习简易教程

有了《》和《》, 不少同学可以使用使用码云和博客园来学习了,也有不少同学还是误用。我以一周的学习过程为例,写一个step by step的教程。

我们以Linux(Ubuntu)环境下的学习为例,需要你掌握中的内容。

首先在Ubuntu中安装配置git,user.name中最好有学号信息:

sudo apt-get install gitgit config --global user.name "20155200rocedu"  git config --global user.email "rocedu@qq.com"

我在建立了课程组织,大家可以在组织中创建自己的学习项目:

741560-20170301054433891-166134181.png

现在助教和课代表已经是管理员了,参考尽快把同学们加为“开发者”:

741560-20170301054543907-406490184.png

741560-20170301055542329-69791479.png

我们可以在组织中通过点击“新建项目”建立自己的学习项目了,项目名称中一定要体现学号信息,语言和.gitignore都选择Java:

741560-20170301060601829-914835962.png

建好的学习项目如下图所示:

741560-20170301060526516-436422751.png

我们在Ubuntu中通过git clone https://git.oschina.net/bestiisjava2017/ljp20155200_JavaProgramming.git 来克隆我们的学习项目,

需要注意的是,项目链接有两种方式HTTPS和SSH两种,我们选择复制HTTPS的链接,这样不需要公私钥对,只要码云的用户名和口令就行了。想用SSH的可以自己学习。

741560-20170301061229407-2055014990.png

741560-20170301071907641-298248360.png

如上图,参考建立教材学习项目目录,我们先使用mkdir src,mkdir bin建立src和bin目录。我们通过vi src/Hello.javaatom src/Hello.java编辑代码,输入以下程序:

1 public class Hello {2     public static void main(String []args){3         System.out.println("Hello Java World!");4     }5 }

下面我们编译运行Hello.java程序。最简单的办法是到src目录中使用javac Hello.java,Java Hello进行编译和运行。这时Hello.java和Hello.class都在src目录中,如下图我们通过javac -d bin src/Hello.java把Hello.class产生在bin目录中,通过cd bin,java Hello,cd ..来运行Hello.class 并保证工作目录是项目根目录:

741560-20170301072836345-587827088.png

代码编译运行没有问题了,我们通过git add .,git commit把刚才的工作纳入版本控制,通过"git push"把我们的工作推送到码云上。

741560-20170301072755970-671808668.png

到 我们可以看到本地的代码和脚本已经上传到网站上了。

741560-20170301124312470-1168261067.png

编译运行我们可以通过vim run.sh写一个脚本简化,以后可以使用Ant,Gradle等让编译自动化。

#!/bin/shjavac -d bin src/Hello.javacd binjava Hellocd ..

注意要用chmod +x run.sh给脚本加上执行权限。脚本测试没有问题,我们使用git add .,git commit -m "add run script" 把脚本纳入版本控制中。

我们使用vim src/Hello.java编辑Hello.java代码,加入一行打印己学号姓名的代码:

1 public class Hello {2     public static void main(String []args){3         System.out.println("Hello Java World!");4         System.out.println("Hello 20155200 rocedu!");5     }6 }

通过脚本进行编译、运行的结果如下:

741560-20170301124507985-117943524.png

没有问题,我们使用git add .,git commit -m "print student id and name" 把新加代码提交到版本控制系统中。

这样,参考中的学习方法就可以进行实践学习了。遇到问题参考《》,《》进行调试。

我们每周的学习要通过在发博客, 也是博客写作,预览的好平台,同时也把博客的写作纳入了版本控制。

我们先运行mkdir docs,touch docs/java_homework_week1.md创建docs目录和空文件“java_homework_week1.md”。

741560-20170301130723423-1833040171.png

我们通过git add ., git commit -m "init docs with empty java_homework_week1.md"把作业博客纳入版本控制。

我们通过git push把作业推送到 上:

741560-20170301130734845-1175244711.png

在 上我们看到了docs文件夹:

741560-20170301131623438-376472293.png

点击docs文件夹,打开“java_homework_week1.md”,点击“编辑”就可以写作业了:

741560-20170302055102032-520366131.png

为了规范作业,我在中给出了作业模板的Markdown 内容,作业提交要严格按模板提交,我们先把模板拷贝过来,并进行提交:

741560-20170302055111298-1997825591.png

提交说明是“拷贝作业模板”,这等价于 git commit -m "拷贝作业模板", 点击“提交到master”按钮。

要养成写一段完整文档提交一次的习惯。

作业模板包含以下要素,不要遗漏:

  • 教材学习内容总结
  • 教材学习中的问题和解决过程
  • 代码调试中的问题和解决过程
  • 代码托管
  • 上周考试错题总结
  • 其他(感悟、思考等,可选)
  • 学习进度条
  • 参考资料

我们给几个简单的例子,点击“编辑”:

741560-20170302055121798-2084004903.png

首先把标题中的“学号”改成自己的学号,方便老师识别作者,然后把“第X周”改成“第一周”

要注意模板中“教材学习内容总结”,以前不少同学写作业在此浪费了大量时间,写总结要:

  • 尽量简单的总结一下本周学习内容
  • 尽量不要抄书,浪费时间
  • 看懂就过,看不懂,学习有心得的记一下

这样才能体现差异化,当然你也可以预测老师会考什么,在此列出来备查,一定不能长篇大论,内容却千篇一律。

比如我们总结出了三个要点,在提交信息中写“完成学习要点”,然后点击“提交到master”按钮。

我们的学习模板参考了邹欣老师(,,)设计的进度条,进度条用好对学习的促进作用非常大的,实践一年来效果不太好,主要各种原因造成学习数据乱填。

为此我设计了一节“代码托管”,要求学生有两个截图:

  • 代码提交过程截图:运行 git log --pretty=format:"%h - %an, %cd : %s" 并截图
  • 代码量截图:运行 find src -name "*.java" | xargs cat | grep -v ^$ | wc -l 并截图

后来我写了个脚本直接把这个过程自动化了:

#!/bin/shclearecho "//==========Today====================================="echo "code summary infomation:"find . -name "*.java" -mtime 0 | xargs cat | grep -v ^$ | wc -l echo "documents summary infomation:"find . -name "*.md" -mtime 0 | xargs cat | grep -v ^$ | wc -l echo ""echo "//==========This Week================================="echo "code summary infomation:"find . -name "*.java" -mtime -7| xargs cat | grep -v ^$ | wc -l echo "documents summary infomation:"find . -name "*.md" -mtime -7| xargs cat | grep -v ^$ | wc -l git log --pretty=format:"%h - %an,%ci: %s " | grep  `date +%F --date="-0 days"`git log --pretty=format:"%h - %an,%ci: %s " | grep  `date +%F --date="-1 days"`git log --pretty=format:"%h - %an,%ci: %s " | grep  `date +%F --date="-2 days"`git log --pretty=format:"%h - %an,%ci: %s " | grep  `date +%F --date="-3 days"`git log --pretty=format:"%h - %an,%ci: %s " | grep  `date +%F --date="-4 days"`git log --pretty=format:"%h - %an,%ci: %s " | grep  `date +%F --date="-5 days"`git log --pretty=format:"%h - %an,%ci: %s " | grep  `date +%F --date="-6 days"`echo ""echo ""echo "//==========All================================="echo "code summary infomation:"find . -name "*.java"| xargs cat | grep -v ^$ | wc -l echo "documents summary infomation:"find . -name "*.md"| xargs cat | grep -v ^$ | wc -l echo "commit history:"git log --pretty=format:"%h - %an,%ci: %s "

在“代码托管”部分贴这个脚本的截图就可以了。可以看出自己每天,本周,这学期写了多少文档,多少代码。

“代码托管”的链接要改成自己的学习项目链接:

741560-20170302061148485-1773339506.png

在码云上写的文档,要同步到自己的电脑上,只要运行git pull就行了。

741560-20170302065955266-694402771.png

我们运行一下"statistics.sh"脚本,我们可以看到自己的学习进度:

741560-20170302072056626-389386440.png

每周作业中要对这个结果截图,使用博客园的上传图片功能可以生成Markdown图片链接![](http://images2015.cnblogs.com/blog/741560/201703/741560-20170302072056626-389386440.png)

741560-20170302072107173-1697329052.png

我们把这个链接插入码云上的作业博客中:

741560-20170302072850126-911431103.png

完成了本周学习任务,我们可以通过“一键复制” 把作业博客的内容复制,然后去.

741560-20170302072902126-797889488.png

最后,完成本周的学习任务,一定要运行git push 就可以把本周学习成果推送到码云上。

741560-20170302074848579-1051403271.png

总结一下我们课上的git使用流程是:

  • 在码云上建立教材(个人项目,团队项目)项目目录
    • 使用git clone https//... 克隆学习项目
  • 作业博客可以在码云上完成,纳入版本控制
    • 使用git pull可以把码云上的文档同步到本地PC上
  • 平时学习,代码要在编译,运行,测试没有问题后进行如下操作
    • git add .
    • git commit -m "提交信息"
  • 周末提交作业前
    • git push

git commit -m "提交信息"中提交信息的写法参考《》,最重要的一点是「One Thing One Commit」,不要写了一周的代码,周末提交一次,所有代码的msg都是「第XX周代码」

更多学习参考

一定要注意,这个教程教你如何在第一周就可以使用git和博客园来完成学习,git的使用和背后的原理还要多多学习。

上课学习流程参考.

代码推送参考

团队项目参考.


欢迎关注“rocedu”微信公众号(手机上长按二维码)

做中教,做中学,实践中共同进步!

rocedu


  • 原文地址:

  • 推荐网站:、、、、、

  • 版权声明:自由转载-非商用-非衍生-保持署名|


如果你觉得本文对你有帮助,请点一下左下角的“好文要顶”和“收藏该文


你可能感兴趣的文章
.NET开源现状
查看>>
可替换元素和非可替换元素
查看>>
2016/08/25 The Secret Assumption of Agile
查看>>
(Portal 开发读书笔记)Portlet间交互-PortletSession
查看>>
搭建vsftpd服务器,使用匿名账户登入
查看>>
JAVA中循环删除list中元素的方法总结
查看>>
Java虚拟机管理的内存运行时数据区域解释
查看>>
人人都会深度学习之Tensorflow基础快速入门
查看>>
ChPlayer播放器的使用
查看>>
js 经过修改改良的全浏览器支持的软键盘,随机排列
查看>>
Mysql读写分离
查看>>
Oracle 备份与恢复学习笔记(5_1)
查看>>
Oracle 备份与恢复学习笔记(14)
查看>>
分布式配置中心disconf第一部(基本介绍)
查看>>
Scenario 9-Shared Uplink Set with Active/Active uplink,802.3ad(LACP)-Flex-10
查看>>
UML类图中的六种关系
查看>>
探寻Interpolator源码,自定义插值器
查看>>
一致性哈希
查看>>
mysql(待整理)
查看>>
使用PullToRefresh实现下拉刷新和上拉加载
查看>>