有很多人可能搞不明白git clone,git pull,git fetch的区别,接下来我会细致讲一下他们的区别与用法
git clone
当我们看到clone时我们应该第一时间想到克隆这个词汇,除了英语不好的同学除外,克隆就是讲整个一套东西给完全复制下来,我们下载远程仓库时不需要git init,我们可以直接git clone url(url是ssh地址或者是http地址,也就是你下载仓库的地址),执行完了之后会在当前目录下会有一个。/git隐藏的文件夹,此时的环境是与远程仓库的环境是一样的,clone操作是一个从无到有的克隆操作。
git clone用法
git clone <版本库的url>
这样就会在本地生成一个目录,该目录与远程仓库同名,如果本地目录不想与远程仓库同名,我们就给其第二个参数
git clone <版本库的url><本地目录名>
git pull
pull是拉的意思,git pull是拉去远程分支更新到本地仓库,需要我们git init初始化,比如远程仓库的学习内容有了新的内容,我们需要下载下来,我们就可以使用git pull,相当于从远程仓库获取最新版本,然后再与本地分支合并。git pull就像等于git fectch加git merge,git merge就是合并分支,git fectch就是更新本地仓库
git pull用法
git pull <远程主机名><远程分支名>:<本地分支名>
举例:
git pull origin master:branchtest
git fetch
fetch是取得意思,理解fetch的关键是理解FETCH_HEAD指的是某个分支在服务器上的最新状态,这个列表保存在。/Git/FETCH_HEAD文件中其中每一行对应一个远程服务器的一个分支,这个也需要初始化本地仓库,
git fetch用法
方法一:从远程得origin仓库得master分支下载代码到本地的origin master
git fetch orign master
方法二:从远程仓库origin仓库分支下载到本地并新建一个分支temp
git fetch origin master:dev