git学习笔记(三)

git学习笔记前两篇讲了git操作的常用操作,这部分是稍微进阶的用法
选一个项目,例如我的是GridViewTest,
打开GitBash,并进入到GridViewTest这个项目的根目录,然后进行以下操作。

git init
git add .
git commit –m “初始化项目”

也可以在学习笔记(一)的基础上直接进行操作,因为学习笔记(一)也是做的这个。


1:分支的用法
分支就是在现有代码的基础上,开辟一个支路,使得代码可以在主干和分支上同时进行开发,而且互相之间不会影响。
下图是分支的工作原理示意图:

这里写图片描述

如果要查看当前的版本库中有哪些分支,可以使用git branch –a 这个命令,结果如下图:

这里写图片描述

由于目前GridViewTest中没有创建过任何的分支,因此只有一个master主干线存在。
我们可以去创建一个分支version1.0,命令如下:

git branch version1.0

这里写图片描述

可以看到有一个叫version1.0的分支出现了,master主干线上的*号表示目前我们的代码还是在master上,要切换到分支version1.0上,可以使用如下命令:

git checkout version1.0

这里写图片描述

如上图所示,我们已经成功把代码切换到version1.0这个分支上面了。
特别注意:
在version1.0这个分支上面修改提交的代码,不会影响到master主干线,在master上修改并提交的代码也不会影响到version1.01分支,因此,如果你在version1.0上面修复了一个bug,在master上这个bug还是一样的存在,这时候,可以使用merge命令来完成合并操作:

git checkout master
git merge version1.0

这两行命令的作用是把在version1.0分支上修改并提交的内容合并到master分支上面,一般很容易出现代码冲突的情况,在合并的时候,遇到冲突的话,就自己要慢慢改。
当我们不需要一个分支的时候,可以使用下面的命令将这个分支删除掉:

git branch –D version1.0

这里写图片描述

2:与远程版本库协作
使用git来进行团队的合作开发?
需要一个远程的版本库,团队中的每个人都可以从这个版本库中获取最原始的代码,然后各自进行开发,以后每次提交的代码都同步到远程版本库上就好了,注意:团队中的每个人要经常获取最新代码,不然很容易发生冲突。

如果现在有一个远程版本库地址:https://github.com/huxiaoliu/TodayWeather.git可以使用如下的命令下载到本地

git clone https://github.com/huxiaoliu/TodayWeather.git

这里写图片描述

可以看到我的f盘下有了一个叫TodayWeather的文件夹,

这里写图片描述

之后,你在这份代码的基础上进行了一些修改和提交,想把本地修改的命令同步到远程版本库上面,这时用push命令来完成。

git push origin master

其中origin部分指定的是远程版本库的git地址,master指的是同步到哪一个分支,上述命令完成的就是将本地代码同步到https://github.com/huxiaoliu/TodayWeather.git这个版本库的master分支上。
我在本地的TodayWeather中,添加了一个hello.txt的测试文件,并将其在本地进行提交,然后同步到远程版本库中,命令如下:

这里写图片描述

此时,可以在远程版本库中查看到,我的远程版本库中多了多了一个hello.txt的文件

这里写图片描述

那么我们如何将远程版本库上面的修改git 同步到本地呢?
Git提供了两种功能来完成此功能,分别是fetch 和 pull
fetch的语法和push差不多,
在执行fetch语法之前,我现在远程版本库上新建了一个fetchTest1文件

这里写图片描述

git fetch origin master

这里写图片描述

执行这个命令后,就会将远程版本库上面的代码同步到本地,不过同步下来的代码,并不会合并到任何分支上面,而是会存放到一个origin/master分支上,我们可以通过diff命令来查看远程版本库到底修改了哪些东西

git diff origin/master

这里写图片描述

之后再调用merge命令将origin/master分支上的修改合并到主分支上,即可

git merge origin/master

这里写图片描述

执行之后可以发现在我的本地根目录中多了一个fetchTest1文件

这里写图片描述

pull命令则是相当于将fetch和merge这两个命令放在一起执行了,它直接从远程版本库中获取最新的代码并合并到本地,用法如下:
同样,在执行pull操作之前我现在远程版本库中新建了一个pullTest文件

这里写图片描述

git pull origin master

执行上述命令后有

这里写图片描述

同时可以发现我们项目的本地根目录直接有了最新的代码,不再需要分支合并

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值