Team 30 Homework

 

完成下面的题目,并在小组博客中写出整个操作过程及学习心得(图文并茂):(每人都要在小组博客中写出来,并注明姓名)

1.参照 http://www.cnblogs.com/xinz/p/3803109.html 的第一题,每人建立一个GitHub账号,组长建立一个Project,将本组成员纳入此Porject中的Collaborators,并添加zykgnyue 为Collaborator。

2.每人自己建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令。比较项目的新旧版本的差别。

3.完成小组的“CanTool”项目的需求文档(使用Markdown写文档),尝试同组成员在各自PC上修改同一文档后,如何使用Git命令完成GitHub上的文档的更新,而不产生冲突。并验证GitHub上的文档确实是最新的文档。

 

宋成光:

1. Github 账号其实早在16年就建立了,但一直没有怎么使用过😭😭😭,只是偶尔需要下载别人在GitHub上分享的源码时才会登陆一下,仅此而已。

从上述两张图片可以看出,我在2016年5月17日注册了GitHub,但是这一年多,贡献为0.。。。今年9月才慢慢开始活跃

 直到老师说要习惯使用git来管理自己的程序,才开始深入了解git。首先我去图书馆借了一本关于git的书,如下。同时配合着老师推荐的廖雪峰的博客,食用效果更加😋。书中写的比较系统完整,而在线看廖老师的博客,写的很有条理,更主要的是每一节下面还有网友分享的自己在学习中的心得体会以及出错信息和解决方案,如果同学们在学习相应章节的时候有疑问可以直接评论,会有热心的网友解答,有时候廖老师也会亲自回答释疑。这一点课本做不到的!此外在廖雪峰老师的网站除了可以学习git,还可以学习python和java,👍👍👍

             

 

  • 在快速简单的学习了解了git的大致操作过程后,身为组长的我,首先直接在网页端建立了一个仓库,并添加了README.md说明,随后通知组员建立各自的GitHub账号并将他们添加为Collaborators。项目网址:https://github.com/ZekeSong/Team30-Helloworld.git

 

 

  • 在电脑上安装msysgit,并通过如下两条命令关联github账号:注意,global前面有两个--,我第一次只输入了一个,于是报了error,但系统很智能的提示我出错原因了    
  • 由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以必须要让github仓库认证你SSH key,在此之前,必须要生成SSH key。具体步骤为:  

    创建SSH Key:$ ssh-keygen -t rsa -C "youremail@example.com"   执行后要求输入密钥的密码,按回车跳过即可,[c盘>用户>自己的用户名>.ssh]目录下已经

            生成好了

    将ssh key 加入GitHub:登录github。打开setting->SSH keys,点击右上角 New SSH key,把生成好的公钥id_rsa.pub放进 key输入框中,再为当前的key起一个

               title来区分每个key。

   完成上述步骤,输入ssh git@github.com验证,如果提示 You've successfully authenticated,,则大功告成了。

 

 

2.

 

  • 用命令git clone克隆一个远程库到本地:   

 

  •  在本地库下新建helloworld.c 文件,并简单编写个小程序。

    输入git add 文件名 将修改添到暂存区, 输入git status 查看状态;修改helloworld.c 文件,再次add,随后用git commit 提交到版本库。

  • 再次修改helloworld.c文件,随后用git diff HEAD --  helloworld.c 查看当前文件与版本库中已提交文件所做的修改和差别

  以上所做的都是在本地操作,接下来使用push、pull、fetch来练习远程推送操作

  • 输入 git push ,随后登陆GitHub远程仓库查看,发现helloworld文件已经成功被推送

 

 

  • 随后在github上修改helloworld.c文件,并输入git fetch,将在GitHub上修改的文件同步到本地库,打开本地helloworld.c发现在远程库对文件所做的修改已经同步到本地文件了

         

 

一点感想:在边学习边练习的过程中,越来越觉得git的便利和强大。中间也不停的出错,但通过查询,都很好的解决了。也不由得反思:为什么一年以前就注册了GitHub,却这么长时间都没有学习并使用?同时心里也暗暗下决心要努力编程,为开源世界做出自己的贡献。

 


 

王现臣


1,接触GitHub

  • 在学习现代软件工程之前,自己并有学习接触过GitHub,对GitHub的了解知之甚少。上完第一节现代软件工程课后,在章老师的介绍下,对GitHub产生了很大的兴趣,同时心里也产生了一种疑问:GitHub真的很实用吗?
  • 请老师和同学们谅解我心中产生的疑问,因为在上研究生前,我已经工作了一段时间,所工作的公司使用的版本控制器是SVN,所以很想将GitHub与SVN进行一番比较,看看GitHub能否实现SVN的功能或者两个哪个功能更加强大呢?首先在下图中给出我使用过的SVN的界面

SVN界面

  • 伴随着这样的疑问,我开始了我的GitHub的学习之旅

2,学习GitHub

  • 首先创建了属于自己的GitHub账号

  • 在创建完账号进入自己的GitHub首页的时候,惊呆我了,GitHub的个性化设置太精彩丰富了,不仅可以设置自己的昵称还可以设计自己喜欢的头像等等,这是SVN所不具备的功能,而且优美的可视化界面也是SVN望其项背的
  • 如果GitHub仅仅是有一个优美的外表,那也仅仅是金玉其外败絮其中,所以我怀着更加好奇的心里继续学习GitHub,很想知道GitHub的实用功能是不是也如此强大呢?
  • 对GitHub的初步了解和学习已经给出了答案:GitHub实用功能很强大!
  • 首先让我惊讶的是,GitHub就像是给程序员专门准备的浩瀚的知识海洋。GitHub不是局限于一个局域网的版本控制器,它是开源的、是世界各个地方的程序员都可以上传自己的程序让其他人学习下载,自己的程序也可以上传让其他人学习下载。GitHub上面的资源真是相当的丰富,下图展示的是我在GitHub上搜索JAVA资源的结果展示

  • 接下来,学习了GitHub的基本用法,包括git的add、commit、push、pull、fetch、clone等基本命令,并在学习过程中将GitHub的基本命令与SVN的基本命令,包括SVN的add、checkout、update、commit等基本命令做了比较。

3,使用GitHub

  • 新建了一个java项目:HelloWorld,java项目代码如下(HelloWorld.java):

  • 因为我的另外两个组员讲GitShell讲的非常详细,大家可以阅读我们的博文进行学习。在我们组员共同的探讨下,为了让同学们更好更快速的进行项目版本控制,接下来我为各位讲解使用可视化客户端的详细步骤:(介绍完客户端的使用方法后,我也展示了自己操作Git基本命令使用的详细步骤以及注意事项,希望能够帮助到大家)
  • 1.Create repository

 

  • 2.push命令对应在客户端的操作(将新建的repository push到GIt网页上)

  • 3.在自己的git网页账户下可查看新提交的repository

 

  • 4.在本地创建HelloWorld.java项目

  • 5.在客户端查看新建的java项目

 

  • 6.提交本地项目到GIT上进行存档

 

  • 7.将java项目Sync到自己的GIT网页账户下

  • 在网页版的Git账户下查看新提交的java项目

  • 通过在Git Shell中使用add、commit、push、pull、fetch、clone等基本命令和可视化界面的操作进行比较对比操作,让我收获颇丰,也让我更加熟悉GitHub对版本控制的强大功能。以下展示git基本命令的使用:
  • 1.create repository

 

 

  • repository展示

  • 创建repository时遇到的错误:因为没有在git目录下创建git

  • add命令的使用:将文件添加到库

  • commit

  • 查看状态:status

  • 有修改则再次commit

 

  • 创建SSH key

 

  • 添加SSH key到github

  • 创建远程库,并与本地库关联

  • push命令的使用

  • 展示push后的成果

  • clone命令的使用

注意:(1)刚开始使用GitHub的时候,我使用的是搜狗浏览器,结果导致GitHub部分功能无法使用,降低效率!所以希望大家尽量使用Google浏览器使用GitHub工具(2)廖老师对git的讲解让我收获颇丰,但是有一点需要注意的是,廖老师讲解过程中是将git直接创建到了C盘目录下,可能好多同学因此将git放到的自己的电脑桌面上, 这是不规范也是以后做项目不应该的操作,所以大家一定要在C/D/E等盘符下创建空的工程目录,再使用git

 

4,感想

很感谢现代软件工程这门课,让我接触到了GitHub这样实用的版本控制工具,通过学习GitHub,得出以下学习心得和学习总结:首先,GitHub可以托管各种git库,并提供一个web界面,GitHub的独特卖点在于从另外一个项目进行分支的简易性。其次,为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。在接下来的时间我会一直使用Github管理自己的项目,并会好好利用该工具获取资源,提高自己的编程能力。

 

 


 

 

王方正


在上这门课之前,还从未了解过Git,通过老师的讲述,以及自己上网搜索资料,对Git初步有了一定的认识。

Git是什么?Git是目前世界上最先进的分布式版本控制系统(没有之一)。(摘自廖雪峰的官方网站,不得不说,这极大地引起了我对Git的兴趣~),简而言之,Git可以记录我们的文档的改动,并让Collaborators参与编辑,并以直观的形式告诉用户文档的每次改动。

1.安装GIt

登陆https://git-for-windows.github.io/下载Git,下载完成后在开始菜单里可以找到Git文件夹:

打开Git Bash:

进一步设置:

git config --list命令查看设置:

 

 2.创建版本库:

 

3.在learngit目录下创建readme.txt,并将文件通过git add命令添加到仓库,用git commit命令将文件提交到仓库:

 

4.修改readme.txt文件,然后运行git status命令,显示文件已被修改,但是尚未添加和提交,输入git diff命令查看变化,查看状态后将修改过的文档提交:

  

 

5.创建SSH KEY:

6.本地库的所有内容推送到远程库上:

 

7.再创建一个仓库,练习使用git clone命令:

 

8.总结:

经过一段时间学习,对Git已经做到了初步掌握,在接下来的时间里,要继续熟悉Git,并将其熟练应用到程序开发管理中!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    

 

                       

 

posted @ 2017-09-27 15:15  宋成光  阅读(413)  评论(1编辑  收藏  举报