第二章作业第二题——刘祉成

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

答:

GitHub练习心得

(1)准备阶段

在GitHub个人主页新建一个远程仓库,命名为“Abe_HelloWorld”,

第二章作业第二题——刘祉成_第1张图片

然后在本机桌面新建“HelloWorld”文件夹,并在其中建立“Abe_HelloWorld.java”文件。内容如图:

第二章作业第二题——刘祉成_第2张图片

安装Git,打开Git Bash,首先设置自己的用户名和邮箱

然后用git init命令将HelloWorld文件夹变成本地仓库

然后生成SSH KEY,在用户文档的.ssh文件夹下找到地址,复制,进入GitHub个人主页的Setting界面,点击SSH选项,将复制的内容填入地址栏

第二章作业第二题——刘祉成_第3张图片

(2)add, commit, push

首先将Abe_HelloWorld.java添加到暂存区,然后提交到本地仓库

第二章作业第二题——刘祉成_第4张图片

之后,建立本地仓库与远程仓库的联系,然后将本地仓库的.java文件上传到远程仓库

第二章作业第二题——刘祉成_第5张图片

尴尬的事情发生了,push失败,不过别着急,错误的原因是本地仓库并没用pull到最新的远程仓库,也就是远程仓库的的最新文件没有更新到本地仓库,这时只要pull一下再push就好了

第二章作业第二题——刘祉成_第6张图片

这样,远程仓库里就有了这个.java文件了

第二章作业第二题——刘祉成_第7张图片

(3)pull, fetch, clone

上一步骤是将本地上传至网络,这一步骤则是于从网络下载到本地有关。这里主要说一下这三个命令的区别。

clone:就是将远程仓库的文件拷贝到本地仓库并不会考虑冲突和重复性;

第二章作业第二题——刘祉成_第8张图片

这时候在本地仓库已经可以看到远程仓库的文件夹

fetch:查看远程仓库的内容,并不会同步;

先修改本地仓库的.java文件

第二章作业第二题——刘祉成_第9张图片

然后fetch后比较不同

第二章作业第二题——刘祉成_第10张图片

可以看到不同之处被标绿

pull:将远程仓库的内容同步到本地仓库,但是当出现同名文件且文件内容不一致时pull会停止,系统会要求删掉本地内容才能同步。

这时虽然显示pull进行成功,但是本地仓库并没有被修改,因为远程仓库没有被修改,这时需要使用checkout命令

第二章作业第二题——刘祉成_第11张图片

如果将远程仓库的文件修改

第二章作业第二题——刘祉成_第12张图片

这时再进行pull操作,会发现本地仓库已经被修改

第二章作业第二题——刘祉成_第13张图片

第二章作业第二题——刘祉成_第14张图片

(4)Tips:push前一定先pull一下,这应该是一个好习惯。

你可能感兴趣的:(第二章作业第二题——刘祉成)