git fetch 的简单用法:更新远程代码到本地仓库

Git中从远程的分支获取最新的版本到本地方式以下,
如何更新下载到代码到本地,请参阅ice的博客基于Github参与eoe的开源项目指南
方式一
1. 查看远程仓库html

1
2
3
4
5
6
$ git remote -v eoecn https://github.com/eoecn/android-app.git (fetch) eoecn https://github.com/eoecn/android-app.git (push) origin https://github.com/com360/android-app.git (fetch) origin https://github.com/com360/android-app.git (push) su@SUCHANGLI /e/eoe_client/android-app (master) 

从上面的结果能够看出,远程仓库有两个,一个是eoecn,一个是origin
2 ,从远程获取最新版本到本地android

1
2
3
4
$ git fetch origin master From https://github.com/com360/android-app * branch master -> FETCH_HEAD su@SUCHANGLI /e/eoe_client/android-app (master) 

$ git fetch origin master 这句的意思是:从远程的origin仓库的master分支下载代码到本地的origin master
3. 比较本地的仓库和远程参考的区别git

1
2
$ git log -p master.. origin/master su@SUCHANGLI /e/eoe_client/android-app (master) 

由于个人本地仓库和远程仓库代码相同因此没有其余任何信息
4. 把远程下载下来的代码合并到本地仓库,远程的和本地的合并github

1
2
3
$ git merge origin/master Already up-to-date. su@SUCHANGLI /e/eoe_client/android-app (master) 

个人本地参考代码和远程代码相同,因此是Already up-to-date安全

以上的方式有点很差理解,你们能够使用下面的方式,而且很安全
方式二
1.查看远程分支,和上面的第一步相同
2. 从远程获取最新版本到本地app

1
2
3
4
$ git fetch origin master:temp From https://github.com/com360/android-app * [new branch] master -> temp su@SUCHANGLI /e/eoe_client/android-app (master) 

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

  1. 比较本地的仓库和远程参考的区别
1
2
$ git diff temp su@SUCHANGLI /e/eoe_client/android-app (master) 

命令的意思是:比较master分支和temp分支的不一样
因为个人没有区别就没有显示其余信息
4. 合并temp分支到master分支spa

1
2
3
$ git merge temp Already up-to-date. su@SUCHANGLI /e/eoe_client/android-app (master) 

因为没有区别,因此显示Already up-to-date.
合并的时候可能会出现冲突,有时间了再把如何处理冲突写一篇博客补充上。
5.若是不想要temp分支了,能够删除此分支code

1
2
3
$ git branch -d temp Deleted branch temp (was d6d48cc). su@SUCHANGLI /e/eoe_client/android-app (master) 

若是该分支没有合并到主分支会报错,能够用如下命令强制删除git branch -D <分支名>htm

总结:方式二更好理解,更安全,对于pull也能够更新代码到本地,至关于fetch+merge,多人写做的话不够安全。
若有错误请指正

 

转自:

原文做者: com360

原文地址: http://my.eoe.cn/com360/archive/3533.html

相关文章
相关标签/搜索