助教培训第四次作业——熟练掌握GitHub及Git的使用方法
助教培训第四次作业——熟练掌握GitHub及Git的使用方法
1.Git 命令的理解和使用
常用的Git命令可以查看官方文档,官方文档的网址:https://git-scm.com/docs 。虽然是英文界面,但是多查看官方文档,比在网上瞎查资料来的更快一些,或者可以选择一些比较有代表性的教程进行学习,很多编程学习网站都有Git的入门教程。下面列举几个学习git的网站,个人建议要学会查看官方文档,虽然很多功能在实际过程中不会使用到,但是官方文档的解释一般比较全面详细,然后再去查询一些网上的博客教程之类的会更加深理解。
- https://www.nowcoder.com/courses/2 :GitHub&Git入门基础
- https://progit.bootcss.com/#_pro_git :Pro Git 中文版
- https://www.bootcss.com/p/git-guide/ :git - 简易指南
- https://www.w3cschool.cn/git/ :W3Cschool Git教程
- https://www.runoob.com/git/git-tutorial.html :RUNOOB git教程
- https://www.liaoxuefeng.com/wiki/896043488029600 :廖雪峰的git教程
- https://git-scm.com/docs :官方文档
Git命令的使用一般是采用命令行的形式,当然git也自带有一个GUI的图形界面,同时还可以使用TortoiseGit,采用的是图形界面, https://www.cnblogs.com/zlslch/p/7986039.html这篇博客中简单介绍了Git和TortoiseGit的区别。当然了,个人不建议初学者一开始就使用TortoiseGit,从git的命令行开始学起,后面再使用其他的工具自然就不会有太大的问题。
Git命令基本上就是对仓库内的文件进行一个统一的版本管理,比较前后差异,记录版本的更改详情,有助于回溯项目开发历程。
2.记录进度情况,以半天一个时间单位,检测代码提交情况,燃尽图
这次开发过程中,因为以前对Git和Github是一知半解,所以花费了很多的时间在学习这两个东西上面了,虽然学到现在还是云里雾里,有一些不能理解和解决的地方,但我会在之后的时间里,尽快把自己这些问题解决掉,能真正熟练掌握这两个工具的使用。这次的燃尽图因为issue设置的粒度过大,一共就设置了三个issue,所以展示出来不是特别好看,并且不知道为什么,三个close掉的issue,界面里只展示了两个完成点。
至于代码开发的部分,本人完成了发布活动第一个和第二个界面。这次因为花费了很多时间在学习Git 和Github上,所以开发的部分有点简单。
3.多人协同开发总结和反思
这次多人协同开发真的是印象深刻,首先就是git和github的使用不熟练,导致了开发过程中不断的重新创建分支,重新克隆最新项目,我个人认为的这一系列开发过程是:先克隆项目仓库到本地,然后创建属于自己的分支并push到远端,然后在本地完成自己的版本管理,在完成一个功能点以后,就推送到远端的个人分支上,再将个人分支的内容与开发分支合并,如果无法自动合并产生冲突,则需要手动解决冲突,即将最新的开发分支的内容拉取到本地进行合并,产生的冲突解决以后再推送到远程的个人分支,然后再与开发分支进行合并,合并如果还有冲突就继续解决。不知道这样的说法对不对,是我个人的理解。
也许是我的理解有问题还是怎样,在实际操作过程中总会出现一些错误,在这次开发过程中,最大的问题就是不会解决冲突,上网搜索解决办法,也没有解决掉产生的冲突,所以就一遍遍的重新克隆,然后把自己的内容添加到项目里,一般情况下重新克隆后,修改以后进行合并不会出错,可以成功合并。
其次还有一个问题就是merge功能的具体实现实在不太清楚,看网上的教程写的都很简单,当然上面列出的几个网址我也并没有全部都一一看过,所以不知道有没有详细的讲到merge的过程,因为我个人觉得git的版本管理,最重要的就是这一步,简单的介绍一个命令merge是不太够的,个人认为解决冲突的前提就是知道是如何进行合并的,为什么会产生冲突,这两个点都是比较困扰我的,因为这次作业只有两天时间,还是没办法学透git,所以会利用其它时间,在开学前争取搞明白这些问题。
然后就是issue的这次设置粒度稍微有些大,所以没有很好的体现开发过程,以后会更加注意这方面的。
最后想说的就是这次协同开发,虽然没有取得什么实质性的结果,但值得庆幸的是,看着Github的界面更加亲切了,不会像之前的课程一样因为看不懂,有很大的抵触情绪,所以不喜欢使用。对git的常用命令也可以做到不用查资料了,果真是熟能生巧啊,失败太多次自然就背下来了。与其他的助教伙伴的讨论也让我感觉到几个人的共同努力的确可以解决很多问题,互相帮助。能和他们一起共事很开心,大家都是很努力的人,每个人都投入了大量的精力到这次的作业中,因为虽然上学期的课程中对于git和gituhub有了简单的认知,也有简单的使用,但都非常非常的浅,所以这次需要花费很多时间更深入的进行学习。
助教培训第四次作业——熟练掌握GitHub及Git的使用方法的更多相关文章
- 助教培训总结——熟练掌握GitHub及Git的使用方法
一.Git 命令的理解和使用 1.使用git前需要建立一个本地仓库,用Git GUI Here的话就可以直接选择Create New Repository.Git Bash Here输入 命令git ...
- 熟练掌握GitHub及Git的使用方法
一.Git 命令的理解和使用 Git是一个快速,可扩展的分布式版本控制系统,具有异常丰富的命令集,可提供高级操作和对内部的完全访问. 分布式:Git版本控制系统是一个分布式的系统,是用来保存工程源代码 ...
- oo第四单元作业总结暨课程总结
oo第四单元作业总结暨课程总结 一.本单元作业架构设计 本单元需要构建一个UML解析器,通过对输入的UML类图/顺序图/状态图的相关信息进行解析以供查询,其中课程组已提供输入整体架构及输入解析部分,仅 ...
- 2019OO第四单元作业总结&OO课程整体总结
第四单元作业总结 第四单元的作业主题是UML图的解析,通过对UML图代码的解析,我对UML图的结构以及各种元素之间的关系的理解更加深入了. ------------------------------ ...
- 耿丹CS16-2班第四次作业汇总
Deadline: 2016-10-13 12:00 作业内容 实验3-1 分别使用while循环.do while循环.for循环求1+2+3+ --+100. 实验3-2 分别使用while循环. ...
- 网络1711班 C语言第四次作业批改总结
网络1711班 C语言第四次作业批改总结 助教有话说(写在前面) 近来,有同学跟老师和助教们反映:博客作业太多太麻烦,而且对编程能力提高似乎没什么帮助?在这里我要谈一谈我的感想. 博客作业的意义? 首 ...
- [2019BUAA软工助教]第0次个人作业
[2019BUAA软工助教]第0次个人作业 一.前言 我认为人生就是一次次地从<存在>到<光明>. 二.软件工程师的成长 博客索引 同学们在上这门课的时候基本都是大三,觉得在大 ...
- c++的路上,我坚信,我可以 -----第四次作业体会
第四次作业 传送门 1.浅谈"新对象"sstream和stack 第四次作业,就是在第三次作业上作修改,上周周末,我刚刚才完成了第三次作业,但是知道了队列如何应用,面对这次的sta ...
- 【西北师大-2108Java】第十四次作业成绩汇总
[西北师大-2108Java]第十四次作业成绩汇总 作业题目 面向对象程序设计(JAVA) 第16周学习指导及要求 实验目的与要求 (1)掌握Java应用程序的打包操作: (2)掌握线程概念: (3) ...
随机推荐
- 【嵌入式硬件Esp32】Ubuntu 1804下ESP32交叉编译环境搭建
一.ESP32概述EPS32是乐鑫最新推出的集成2.4GWi-Fi和蓝牙双模的单芯片方案,采用台积电(TSMC)超低功耗的40nm工艺,拥有最佳的功耗性能.射频性能.稳定性.通用性和可靠性,适用于多种 ...
- [US Open 2004][luogu2342] 叠积木 [带权并查集]
题面 洛谷传送门 思路 害 学了4年多OI,第一次知道还有带权并查集这个东西 wtcl 这个玩意儿的原理和详细实现,可以参考这个博客:带权并查集传送门 这道题,就是在带权并查集的基础上,加个维护每个集 ...
- (模板)hdoj1251(字典树模板题)
题目链接:https://vjudge.net/problem/HDU-1251 题意:给定一系列字符串之后,再给定一系列前缀,对每个前缀查询以该字符串为前缀的字符串个数. 思路: 今天开始学字典树, ...
- 安装AWX
1.安装最新版python 2.安装最新版docker 设置国内docker镜像源 curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | ...
- WUSTOJ 1304: 最大最小公倍数(Java)
题目链接:
- Linux 基础 目录介绍
/bin 存放二进制可执行文件(ls cat clear)等等 ,常用基础命令在这个目录下 /etc 存放系统管理和配置文件 如 passwd 用 ...
- mongodb 启动及创建用户
1. 守护进程启动,参考: https://blog.csdn.net/jj546630576/article/details/81117765 2. 用户管理参考: https://www.cnbl ...
- on duplicate key mysql插入更新
insert into `test` (`job_id`, `user_name`, `total_time`) values ('12345', 'zhangsan', '10') on dupli ...
- mybatis与Spring集成(Aop整合PagerAspect插件)
目的: Mybatis与spring集成 Aop整合pagehelper插件 Mybatis与spring集成 导入pom依赖 <?xml version="1.0" enc ...
- 动态script标签同步加载 ps:无打包编译,静态实现静态资源入口动态配置,无编译打包静态资源添加版本号
/**功能:创建动态标签加载css ,js文件,重点是js文件,利用onloading加递归实现动态标签的同步加载用法:在html文件body底部script内部声明并调用下列函数,obj中写要加载的 ...