第二章-第二题(练习使用git的add/commit/push/pull/fetch/clone等基本命令)--梁绍楠

题目描述:

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

使用步骤:

1)创建版本库

选择一个合适的地方,创建一个空目录HelloWorld。而后通过git init把这个目录变成Git可以管理的仓库(目录下会多出了一个.git目录,该目录是git跟踪管理版本库的,勿轻易修改):

编辑hello文件,内容如下:

 

 

2)将文件hello放到git仓库

首先,需要设置用户名、邮箱信息:

而后,便可将文件hello放到git仓库,分两部进行:

第一步,使用git add告诉git,把文件添加到仓库(可用git status查看提交状态):

第二步,使用git commit告诉git,把文件提交到仓库(git commit命令中,-m后面输入本次提交说明,为之后从历史记录中方便地找到改动记录):

可用git log查看提交记录,其中commit id为版本号,可以通过 git reset –hard commit id实现版本回退:

 

 

3)在github上建立远程仓库并添加SSH KEY

1、创建SSH KEY。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell,创建SSH Key

2、在github上添加SSH KEY

 

3、新建远程仓库

 

 

4)将本地仓库添加到远程库

在本地的HelloWorld仓库下运行(远程库的名字一般为origin):

而后,便能将本地库的内容推到远程库上:

 

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

当你第一次使用Gitclone或者push命令连接GitHub时,会得到一个警告(这个警告只会出现一次,后面的操作就不会有任何警告了):

这时候查看github上对应的仓库,发现已经同步:

 

 

(5)git pull/fetch/clone 的使用

1git pull

在协同开发时,为了保证团队开发的统一,当某人对代码进行修改并push到远程库之后,可通过命令git pull origin master取回远程主机某个分支的更新,再与本地的制定分支合并。(相当于合并了fetchmerge为了简便,现在github的远程仓库下新建一个新的文件pulltest:

而后在本地pull下来:

 

2git clone

即从远程主机上克隆一个版本库。

$ git clone <版本库的网址> <本地目录名> 

即可在本地新建一个目录,clone本实验中的HellloWorld项目: 

 

3git fetch

一旦远程主机的版本库有了更新(Git术语叫做commit),需要将这些更新取回本地,这时就要用到git fetch命令。

$ git fetch <远程主机名>

上面命令将某个远程主机的更新,全部取回本地。

git fetch命令通常用来查看其他人的进程,因为它取回的代码对你本地的开发代码没有影响。

 

为了简便,现在github的远程仓库下新建一个新的文件pulltest:

 

而后,在本地fetch下来:

可以通过merge进行合并:

 

posted on 2016-09-19 00:18  北洋五霸  阅读(262)  评论(2编辑  收藏  举报

导航