• [转]git fetch更新远程代码到本地仓库


    http://my.eoe.cn/com360/archive/3533.html

    Git中从远程的分支获取最新的版本到本地方式如下,

    • 方式一

    1. 查看远程仓库

    1 $ git remote -v
    2 eoecn   https://github.com/eoecn/android-app.git (fetch)
    3 eoecn   https://github.com/eoecn/android-app.git (push)
    4 origin  https://github.com/com360/android-app.git (fetch)
    5 origin  https://github.com/com360/android-app.git (push)

    从上面的结果可以看出,远程仓库有两个,一个是eoecn,一个是origin

    2. 从远程获取最新版本到本地

    1 $ git fetch origin master
    2 From https://github.com/com360/android-app
    3  * branch            master     -> FETCH_HEAD

    $ git fetch origin master 这句的意思是:从远程的origin仓库的master分支下载代码到本地的origin master

    3. 比较本地的仓库和远程参考的区别

    1 $ git log -p master.. origin/master

    因为我的本地仓库和远程仓库代码相同所以没有其他任何信息

    4. 把远程下载下来的代码合并到本地仓库,远程的和本地的合并

    1 $ git merge origin/master
    2 Already up-to-date.

    我的本地参考代码和远程代码相同,所以是Already up-to-date

    以上的方式有点不好理解,大家可以使用下面的方式,并且很安全

    • 方式二

    1. 查看远程分支,和上面的第一步相同
    2. 从远程获取最新版本到本地

    1 $ git fetch origin master:temp
    2 From https://github.com/com360/android-app
    3  * [new branch]      master     -> temp

    git fetch origin master:temp 这句命令的意思是:从远程的origin仓库的master分支下载到本地并新建一个分支temp

    3. 比较本地的仓库和远程参考的区别

    1 $ git diff temp

    命令的意思是:比较master分支和temp分支的不同

    由于我的没有区别就没有显示其他信息
    4. 合并temp分支到master分支

    1 $ git merge temp
    2 Already up-to-date.

    由于没有区别,所以显示Already up-to-date.

    合并的时候可能会出现冲突,有时间了再把如何处理冲突写一篇博客补充上。
    5. 如果不想要temp分支了,可以删除此分支

    1 $ git branch -d temp
    2 Deleted branch temp (was d6d48cc).


    如果该分支没有合并到主分支会报错,可以用以下命令强制删除git branch -D <分支名>

    • 总结

    方式二更好理解,更安全,对于pull也可以更新代码到本地,相当于fetch+merge,多人写作的话不够安全。

  • 相关阅读:
    组合模式
    MySQL8.0 下载安装启动(Windows10)
    OI如逆旅,我亦是行人——省选
    闲话—江湖痴情浅,信步余生。平剑红烛,青丝微绾,却话奁中。
    此时彼方
    CSP 2019游记 & 退役记
    西狂 杨过
    SDOI 2019 Round1 游记
    NOIP2018游记
    未来可期,不知所终
  • 原文地址:https://www.cnblogs.com/jackpang/p/3554715.html
Copyright © 2020-2023  润新知