3组现代软件工程第二次作业
Posted zhi_rui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3组现代软件工程第二次作业相关的知识,希望对你有一定的参考价值。
一:参照 http://www.cnblogs.com/xinz/p/3803109.html 的第一题,每人建立一个GitHub账号,组长建立一个Project,将本组成员纳入此Porject中的Collaborators,并添加zykgnyue 为Collaborator。
- 简历github账号:
- 创建一个名为SoftwareProject的项目:
- 添加组员为Collaborator
二:每人自己建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令。比较项目的新旧版本的差别。
1. 詹睿:
创建一个HelloWorld项目:
创建SSH Key:
复制id.rsa.pub里面的ssh key,并与自己的github号进行绑定
在本地创建一个HelloWord的文件夹,并在里面创见一个helloworld.c文件,并用NotePad进行编辑
使用Git命令将本地HelloWorld文件变成一个Git仓库
设置仓库的用户名和邮箱
add helloWorld.c并commit
查询状态和日志
将本地仓库上传到远程仓库,这里由于第一次上传的时候误以为没有上传成功,后来上传导致错误。
为了再次上传成功,使用pull和push命令重新上传
在github上对helloWorld.c进行更改并commit
然后使用clone来架构github上的远程仓库拷贝下来
在本地HelloWord仓库文件夹下,使用fetch命令将更新的文档取回本地
使用diff命令查看分支的差异,由于在创建helloWorld.c文档并编辑时,忘记保存,导致最初上传到github上的文档为空文档。后来在github上进行编辑修改,导致整个代码都为difference.
使用merge将两个分支进行合并,这里产生了一个错误,由于前面发现本地编辑的helloWorld.c并未保存,后来重新编辑了一遍,但是没有commit。导致merge时产生错误。
为了解决以上错误,首先需要对本地更改进行commit,然后再merge
为了练习pull命令,首先得在github上创建一个新分支
然后在本地创建一个分支dev
然后再本地修改helloWorld.c,并提交
使用pull命令git pull <远程主机名> <远程分支名>:<本地分支名>:
使用转换到dev分支,并使用merge命令与远程分支进行合并
2. 康金梦:
Git的安装,账户的申请网上很多资源,在此不再赘述。讲解下如何上传项目等操作
[1]选定项目目录
[2]init指令将目录指定为git的仓库目录
[3]add/commit指令向远程添加文件
[4]本地库和远程库链接
上传成功!
[5]修改远程库的HelloWorld.java文件如图所示
[6]clone指令下载远程库到本地
[7]fetch/merge指令更新本地库
[8]pull指令,首先在远程新建分支,然后再本地新建分支
git pull <远程主机名> <远程分支名>:<本地分支名>
更新到本地
成功!
附录:在操作过程中对fetch和pull指令很困惑,在网上查找了下他们的不同,和大家一起学习,如下:
git fetch和git pull的区别
<1>git fetch:相当于是从远程获取最新版本到本地,不会自动合并(注:合并以后不是克隆文件改变)。
$ git fetch origin master
首先从远程的origin的master主分支下载最新的版本到origin/master分支上
然后比较本地的master分支和origin/master分支的差别
最后进行合并
上述过程其实可以用以下更清晰的方式来进行:
$ git fetch origin master:tmp
$ git diff tmp
$ git merge tmp
Shell
<2>git pull:相当于是从远程获取最新版本并merge到本地
git pull origin master
Shell
上述命令其实相当于git fetch 和 git merge
在实际使用中,git fetch更安全一些,因为在merge前,我们可以查看更新情况,然后再决定是否合并。
在操作过程中学到很多知识,所以说动手加动脑事半功倍
3. 韩慧娟:GitHub初体验
(1)下载并安装github客户端,网址为:http://msysgit.github.io/。创建存放项目的文件夹,之后右击文件夹有git bash 选项(这里创建了githubTest文件夹)
(2)到github上注册自己的账号,网址为:https://github.com/
(3)注册成功后创建一个代码仓库,如图点击New repository,进入下一界面
按照图中所示红线圈住的都需要设置,仓库名称为HelloWorld,要选择public,private是要付费的,最后点击Create repository。
(4)进入新界面会有一个https地址,是为了方便上传下载代码
(5)打开先前的Git Bash 界面,输入如下内容
git config --global user.name "用户名"
git config --global user.email "邮箱"
查看目前设置可以用:git config --global user.name
红线圈住内容即为刚才创建的文件夹
(6)如果在创建仓库时第三步所示,没有选中Initialize this repository with a README这一选项,需要在后面的界面手动创建README(介绍项目),这一选项是为了帮助我们很快的克隆我们的项目到本地,如果是导入一个项目则不用勾
(7)创建README,创建成功后,点击Clone repository ,将项目克隆到本地,或者在控制台输入git –clone ,clone命令的使用
使用$ ls 命令查看,可以看到HelloWorld已经拷贝到本地
(8)直接在HelloWorld文件夹下创建test.txt文件
(9)$ cd HelloWorld 进入文件夹
$ ls 查看文件夹下的文件
$ git status 可以显示未被检索到的文件
$ git add test.txt 使得git追踪此文件,即添加到仓库中 ,add命令的使用
$ git status 再次查看显示已经追踪到此文件
(10)Commit命令的使用,即提交文件到git
(11)Push命令,将本地改变推送到git上,更新git后会看到test.txt 文件上传成功
(12)fetch命令的使用,将远程仓库获取新文件;在远程创建新文件change
更新本地
(13)pull命令的使用,将改变更新到本地,可以看到本地与远程保持一致
4. 陈福朦:
Git是目前世界上最先进的分布式版本控制系统。和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。
1.Git安装
msysgit是Windows版的Git,从http://msysgit.github.io/下载,然后按默认选项安装即
可。安装完成后,在开始菜单⾥里找到“Git”->“Git Bash”,蹦出⼀一个类似命令行窗口的东西,就说明Git安装成功!
2.在github(https://github.com/这个网站提供Git仓库托管服务,只要注册一个GitHub账号,就可以免费获得Git远程仓库)上注册自己的账号,注册成功后就New repository,代码仓库名为HelloWorld.。
3.创建SSH Key。由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置:在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Git Bash,创建SSH Key:
成功之后我们会看到后面生成了一个.ssh文件夹,然后我们进入这个文件夹,打开id.rsa.pub,复制里面的key,完成配置
打开浏览器,输入网址:www.github.com,然后输入自己的账号密码,进入。配置SSH Key
4.SSH完成好之后,在C:\\Users\\lenovo\\software\\helloworld文件夹里写一个helloworld.c;
并把该目录初始化为本地git仓库(git init),并设置用户名和邮箱。
然后添加文件到Git仓库,分两步:
(1)使用命令 git add(把文件添加到仓库) ,可反复多次使用,添加多个文件;
(2)使用命令 git commit(把文件提交到仓库) ,完成。
(3)status(可以让我们时刻掌握仓库当前的状态)
(4)log(显示从最近到最远的提交日志)
(5)关联本地仓库和远程仓库(github.com),地址为new repository 时生成的地址。
(6)push
(7)clone:
a.先在github.com上对HelloWorld.c进行些修改,并commit.
b.克隆git仓库在原来的HelloWorld文件夹下又建立了一个新的文件夹helloword,在新的仓库中cat helloworld.c 将看到修改过的版本:
c.fetch:
回到helloworld文件夹(cd ..),git fetch origin master把刚才更新的版本取回本地:
此时已产生分支,查看分支,并查看difference:
使用merge将合并到分支,再查看本地的HelloWorld.c已经更新。
(8)pull 需要在远程仓库先建立一个分支,本地再建立一个分支dev,修改helloworld.c,git pull <远程主机名> <远程分支名>:<本地分支名>;checkout 到 dev 分支;merge origin/HelloWorld-patch-1;此时冲突无法解决,需要手动修改;提交,切换回master:再合并到master;然后还可以再push到远程仓库origin master,不再赘述。
3.完成小组的“CanTool”项目的需求文档(使用Markdown写文档),尝试同组成员在各自PC上修改同一文档后,如何使用Git命令完成GitHub上的文档的更新,而不产生冲突。并验证GitHub上的文档确实是最新的文档。
詹睿:
康金梦:
[1]将远程的小组项目文件(cantoolapp的项目需求分析)克隆到本地
[2]修改文件之后,上传到远程
上传成功!已经可以看到最新版本。
陈福朦:
[1]将远程文件cantoolapp的项目需求分析copy到本地,然后对文件的部分信息做了修改。
[2]上传到远程。
[3]上传成功之后,经验证已经是最新版本了。
以上是关于3组现代软件工程第二次作业的主要内容,如果未能解决你的问题,请参考以下文章