git fetch.git merge,git pull

来源:互联网 发布:通达信软件使用教程 编辑:程序博客网 时间:2024/06/04 19:41
  • git fetch origin branch1:branch2
  • 首先执行上面的fetch操作
  • 使用远程branch1分支在本地创建branch2(但不会切换到该分支), 
    如果本地不存在branch2分支, 则会自动创建一个新的branch2分支, 
    如果本地存在branch2分支, 并且是`fast forward', 则自动合并两个分支, 否则, 会阻止以上操作.

  • Git push

    $ git push origin test:master         // 提交本地test分支作为远程的master分支

  • $ git push origin master 
    :需要说明的是,默认情况下 这条语句等价于提交 本地的master分支,到远程仓库,并作为远程的master分支。
        如果想把 本地的某个分支test 提交到 远程仓库,并作为远程仓库的master分支,或者 作为另外一个名叫test的分支,那么可以这么做。

    $ git push origin test:master         // 提交本地test分支 作为 远程的master分支


  •  
    Git中从远程的分支获取最新的版本到本地有这样2个命令:
    1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge
        git fetch origin master
  • git log-p master..origin/master
  • git merge origin/master
     
        以上命令的含义:
       首先从远程的origin的master主分支下载最新的版本到origin/master分支上
       然后比较本地的master分支和origin/master分支的差别
       最后进行合并
       上述过程其实可以用以下更清晰的方式来进行:
  • git fetch origin master:tmp
    git diff tmp 
    git merge tmp
     
        从远程获取最新的版本到本地的test分支上
       之后再进行比较合并
    2. git pull:相当于是从远程获取最新版本并merge到本地
  • git pull origin master
     
    上述命令其实相当于git fetch 和 git merge
    在实际使用中,git fetch更安全一些
    因为在merge前,我们可以查看更新情况,然后再决定是否合并
0 0
原创粉丝点击