助教培训第四次作业——熟练掌握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. angular2-cookie 如何升级到 ngx-cookie

    angular2-cookie 如何升级到  ngx-cookie https://github.com/salemdar/angular2-cookie#readme

  2. node.js http-server 搭建本地服务器

    使用vue-cli创建的项目,能够实现浏览器中自动刷新,实时查看项目效果,其中的原理在于,webpack在本地启动了一个本地服务器,将本机当作一台服务器: 打包后的文件是一个html静态页面,在本地文 ...

  3. 如何查看crontab定时任务是否执行过 查看记录

    命令的模式像下面这个: grep "script.php" /path/file.ext. 比如,下面的命令就是从/var/log/cron.log 检测cron任务是否有执行 c ...

  4. RabbitMQ官方教程四 Routing(GOLANG语言实现)

    在上一教程中,我们构建了一个简单的日志记录系统. 我们能够向许多消费者广播日志消息. 在本教程中,我们将向其中添加功能-我们将使仅订阅消息的子集成为可能. 例如,我们将只能将严重错误消息定向到日志文件 ...

  5. 【Axure8】利用中继器(Repeater)实现表格数据的增删改

    利用Repeater实现对Table数据的增删改操作. 先拖入必需的控件:rectangle.text field.droplist.button.table.repeater.具体信息如图. 为方便 ...

  6. 【深度学习与神经网络】深度学习的下一个热点——GANs将改变世界

    本文作者 Nikolai Yakovenko 毕业于哥伦比亚大学,目前是 Google 的工程师,致力于构建人工智能系统,专注于语言处理.文本分类.解析与生成. 生成式对抗网络-简称GANs-将成为深 ...

  7. Git 和 SVN 存储方式的差异对比

    Git git 对于一个文件的修改存储的是一个快照,就是说针对文件1,修改之后,生成文件2,文件2中包含文件的1的内容,如果当文件1不存在,版本回退也就不管用了. SVN SVN 存储的是对文件的差异 ...

  8. 软件素材--c/c++干掉代码的通用方法

    while(1) { sleep(200); } #endif

  9. Ubuntu 中改变文件的默认打开方式(转)

     源自:Ubuntu 中改变文件的默认打开方式 1. 相关配置文件 全局配置 /etc/gnome/defaults.list /usr/share/applications/mimeinfo.cac ...

  10. ubuntu下安装chrome浏览器和flash插件

    chrome浏览器可在Ubuntu软件中心里搜索并安装 falsh插件首先去官网下载合适的包然后,按照readme安装,执行sudo cp -r usr/* /usr 和sudo cp libflas ...