助教培训第四次作业——熟练掌握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) ...
随机推荐
- VSIX 插件
https://blog.csdn.net/lynchee/article/details/83065608
- charles Windows 安装
本文参考:charles Windows 安装 在实际开发.测试中需要通过代理截取 app 的网络请求报文来快速定位问题.https 双向认证的 app 越来越多,fiddler在这方面并不好用.由于 ...
- WCF之Windows宿主(可安装成服务自动并启动)
WCF之Windows宿主(可安装成服务自动并启动) 创建解决方案WCFServiceDemo 创建WCF服务库(类库或WCF服务库)WCFService ,添加引用System.ServiceMo ...
- mysql备份时过滤掉某些库 以及 去掉"Warning: Using a password on the command line interface can be insecure."提示信息
在对mysql进行完整备份时使用--all-database参数 # mysqldump -u root -h localhost -p --all-database > /root/all.s ...
- php设计模式;抽象类、抽象方法
设计模式 什么叫设计模式 所谓设计模式,就是一些解决问题的“常规做法”,是一种认为较好的经验总结.面对不同的问题,可能会有不同的解决办法,此时就可以称为不同的设计模式. 工厂模式 在实际应用中,我们总 ...
- linux 下安装docker
Linux 下的 Docker 安装与使用 一.安装与配置 安装一些必要的系统工具: sudo yum install -y yum-utils device-mapper-persistent-da ...
- 小程序里实现 watch 和 computed
小程序里的自定义组件里是有数据监听器的,可以监听对应数据的变化来执行callBack,但是页面Page里没有对应的api就显的很生硬,比如某个数据变了(如切换城市)需要重新刷页面,如果不做监听,每次都 ...
- linux 给运行程序指定动态库路径
1. 连接和运行时库文件搜索路径到设置 库文件在连接(静态库和共享 库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的.一般 Linux 系统把 /lib 和 /usr/li ...
- labelme2coco问题:TypeError: Object of type 'int64' is not JSON serializable
最近在做MaskRCNN 在自己的数据(labelme)转为COCOjson格式遇到问题:TypeError: Object of type 'int64' is not JSON serializa ...
- C++中数组占用的内存计算
在C++中int类型每个空间是4个字节,long long int 是8个字节,而bool类型是1个字节 所以一般能用bool就别用int,节约空间 数组占用内存的计算 a[1001][1001]的空 ...