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 分支名 #切换分支
posted @ 2017-06-06 20:13  美美王子  阅读(11098)  评论(0编辑  收藏  举报