git pull和git fetch命令
git pull和git fetch命令
-
git pull
git pull命令的作用是取回远程主机某个分支的更新,在与本地指定分支合并,格式如下:$ git pull <远程主机名><远程分支名>:<本地分支名>
如果需要取回origin主机的erp01分支与本地的master分支合并,则写为:
$ git pull origin erp01:master
上面这句命令的意思相当于取回origin/erp01分支的代码在与当前的分支合并。
如果本地分支和远程分支之间建立了一种追踪的关系,那么我们git pull的时候就可以省略远程的分支名:
$ git pull origing
上面命令表明本地分支自动与队对应的origin主机追踪分支进行合并。
git 允许手动建立追踪关系
$ git branch --set-upstream master origin/erp01
上面分支指定master分支追踪origin/erp01
-
git fetch
如果远程主机项目有了新的更新就需要把更新取回本地:$ git fetch <远程主机名>(origin)<分支名>
如果想要取回特定分支的更新就可以指定分支名;
所取回的更新,在本地主机上要用“远程主机名/分支名”进行读取。比如origin主机的erp01,就要用origin/erp01读取。
接下来可以用git branch -r命令查看远程分支,如果用到 -a选项,则表明查看所有的分支;
如果你需要合并分支,就可以用merge或rebase:
$ git merge origin/erp01
#或
$ git rebase origin/erp01
表示在当前的分支上合并erp01分支。
-
git pull和git fetch区别
这两个命令的主要区别在与:git pull是拉下更新后就自动合并本地分支,而git fetch是先吧更新拉下来,在用merge或rebase进行合并。 -
git diff
-
查看尚未暂存的文件更新了哪些部分,不加参数直接输入
-
查看已经暂存起来的文件(staged)和上次提交时的快照之间(HEAD)的差异
git diff --cached(上次缓存快照) git diff --staged(现在已经缓存)
-
-
新建分支
- git branch 分支名
- git checkout 分支名 #切换分支