助教培训第四次作业——熟练掌握GitHub及Git的使用方法

1.Git 命令的理解和使用

  常用的Git命令可以查看官方文档,官方文档的网址:https://git-scm.com/docs 。虽然是英文界面,但是多查看官方文档,比在网上瞎查资料来的更快一些,或者可以选择一些比较有代表性的教程进行学习,很多编程学习网站都有Git的入门教程。下面列举几个学习git的网站,个人建议要学会查看官方文档,虽然很多功能在实际过程中不会使用到,但是官方文档的解释一般比较全面详细,然后再去查询一些网上的博客教程之类的会更加深理解。

  1. https://www.nowcoder.com/courses/2 :GitHub&Git入门基础
  2. https://progit.bootcss.com/#_pro_git :Pro Git 中文版
  3. https://www.bootcss.com/p/git-guide/ :git - 简易指南
  4. https://www.w3cschool.cn/git/ :W3Cschool Git教程
  5. https://www.runoob.com/git/git-tutorial.html :RUNOOB git教程
  6. https://www.liaoxuefeng.com/wiki/896043488029600 :廖雪峰的git教程
  7. 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的使用方法的更多相关文章

  1. 助教培训总结——熟练掌握GitHub及Git的使用方法

    一.Git 命令的理解和使用 1.使用git前需要建立一个本地仓库,用Git GUI Here的话就可以直接选择Create New Repository.Git Bash Here输入 命令git ...

  2. 熟练掌握GitHub及Git的使用方法

    一.Git 命令的理解和使用 Git是一个快速,可扩展的分布式版本控制系统,具有异常丰富的命令集,可提供高级操作和对内部的完全访问. 分布式:Git版本控制系统是一个分布式的系统,是用来保存工程源代码 ...

  3. oo第四单元作业总结暨课程总结

    oo第四单元作业总结暨课程总结 一.本单元作业架构设计 本单元需要构建一个UML解析器,通过对输入的UML类图/顺序图/状态图的相关信息进行解析以供查询,其中课程组已提供输入整体架构及输入解析部分,仅 ...

  4. 2019OO第四单元作业总结&OO课程整体总结

    第四单元作业总结 第四单元的作业主题是UML图的解析,通过对UML图代码的解析,我对UML图的结构以及各种元素之间的关系的理解更加深入了. ------------------------------ ...

  5. 耿丹CS16-2班第四次作业汇总

    Deadline: 2016-10-13 12:00 作业内容 实验3-1 分别使用while循环.do while循环.for循环求1+2+3+ --+100. 实验3-2 分别使用while循环. ...

  6. 网络1711班 C语言第四次作业批改总结

    网络1711班 C语言第四次作业批改总结 助教有话说(写在前面) 近来,有同学跟老师和助教们反映:博客作业太多太麻烦,而且对编程能力提高似乎没什么帮助?在这里我要谈一谈我的感想. 博客作业的意义? 首 ...

  7. [2019BUAA软工助教]第0次个人作业

    [2019BUAA软工助教]第0次个人作业 一.前言 我认为人生就是一次次地从<存在>到<光明>. 二.软件工程师的成长 博客索引 同学们在上这门课的时候基本都是大三,觉得在大 ...

  8. c++的路上,我坚信,我可以 -----第四次作业体会

    第四次作业 传送门 1.浅谈"新对象"sstream和stack 第四次作业,就是在第三次作业上作修改,上周周末,我刚刚才完成了第三次作业,但是知道了队列如何应用,面对这次的sta ...

  9. 【西北师大-2108Java】第十四次作业成绩汇总

    [西北师大-2108Java]第十四次作业成绩汇总 作业题目 面向对象程序设计(JAVA) 第16周学习指导及要求 实验目的与要求 (1)掌握Java应用程序的打包操作: (2)掌握线程概念: (3) ...

随机推荐

  1. 使用mysqlslap测试MySQL性能

    之前介绍过MySQL的性能测试工具sysbench, 这次介绍一个mysql自带的比较简单的性能测试命令mysqlslap. 下面的指令模拟了1000个进程同事连接mysql,并执行100个查询操作, ...

  2. html如何修改hr水平直线的粗细

    hr是常见的超文本标签,是一条水平直线,要设置该直线变粗一些.可以先把hr本身的border隐藏掉,然后设置border-top-width,也就是只留上边框,如图:hr的默认高度height是0,所 ...

  3. C# .NET WINFORM MUTEX 互斥

    static class Program 里的全局变量: static System.Threading.Mutex appMutex; Main 方法里的内容: string exeName = & ...

  4. 【Tools】三款笔记本电脑硬件检测工具-官网下载

    一.CPU-Z 下载地址: https://www.cpuid.com/softwares/cpu-z.html 描述: CPU-Z已经是大名鼎鼎了.这里就不多说了.  二.Cinebench   下 ...

  5. 关于tornado的raise gen.Retuen()

    raise gen.Return(response.body)在python3.3以后作用相当于return, 在python3.3之前作用是返回一个异常值, 和返回一个value python 3. ...

  6. [转帖]PCIe 6.0 v0.3版本草案已完稿:2021年转正、x16带宽飙至128GB/s

    PCIe 6.0 v0.3版本草案已完稿:2021年转正.x16带宽飙至128GB/s https://www.cnbeta.com/articles/tech/899389.htm 硬件发展突飞猛进 ...

  7. crontab每小时运行一次

    先给出crontab的语法格式 对于网上很多给出的每小时定时任务写法,可以说绝大多数都是错误的!比如对于下面的这种写法: 00 * * * * #每隔一小时执行一次 00 */1 * * * #与上面 ...

  8. ant 节点和属性

    任务和javac命令是相似,它编译两种类型的java文件1)没有被编译的java文件2)曾经编译过,但是class文件版本和当前对应的java文件版本不匹配的java文件. 1)javac命令支持的参 ...

  9. mysql 添加大量测试数据

    mysql 添加大量测试数据 场景 针对于大量测试数据插入,检测sql执行速度 第一步:建表 // 测试表 CREATE TABLE user ( id int(11) NOT NULL AUTO_I ...

  10. 题解 Luogu P1099 【树网的核】

    这题是真的水啊... ------------ 昨天模拟赛考了这题,很多人都是O($n^3$)水过,但我认为,要做就做的足够好(其实是我根本没想到O($n^3$)的做法),然后就开始想O(n)的解法. ...