美文网首页
Git在项目中使用

Git在项目中使用

作者: 骑代码奔小康 | 来源:发表于2019-01-08 14:58 被阅读0次

    以前使用SVN的思想来使用Git,在项目合作中,push代码到远程之前并不知道别人是否改过这个文件,所以要先pull下来,后再push到远程仓库中去,具体步骤:

    1. 拉取远程仓库中的文件,在本地新建一个分支(tmp)把文件写进去(git fetch origin master:tmp )
    2. 对比一下本地的文件和拉取的文件(分支里的)有什么不同(git diff tmp ),这一步有可能会有冲突需要手动解决
    3. 冲突解决了,就可以合并分支了(git merge tmp)
    4. 合并完成以后就删除分支(git branch -d tmp)
      下面是两种方式:

    使用Git 拉取远程仓库文件与本地合并

    // fetch 方法
    $ git fetch origin master:tmp 
    //在本地新建一个temp分支,并将远程origin仓库的master分支代码下载到本地temp分支
    $ git diff tmp 
    //来比较本地代码与刚刚从远程下载下来的代码的区别
    $ git merge tmp
    //合并temp分支到本地的master分支
    $ git branch -d temp
    //如果不想保留temp分支 可以用这步删除
    
    // pull 方法
    // git pull : 首先,基于本地的FETCH_HEAD记录,比对本地的FETCH_HEAD记录与远程仓库的版本号,
    // 然后git fetch 获得当前指向的远程分支的后续版本的数据,
    // 然后再利用git merge将其与本地的当前分支合并。所以可以认为git pull是git fetch和git merge两个步骤的结合。
    git pull <远程主机名> <远程分支名>:<本地分支名>
    // 取回远程主机某个分支的更新,再与本地的指定分支合并。
    

    因此,与git pull相比git fetch相当于是从远程获取最新版本到本地,但不会自动merge。如果需要有选择的合并git fetch是更好的选择。效果相同时git pull将更为快捷。

    相关文章

      网友评论

          本文标题:Git在项目中使用

          本文链接:https://www.haomeiwen.com/subject/xzevrqtx.html