github仓库与原始仓库同步的两种方法
来源:互联网 发布:ubuntu休眠设置 编辑:程序博客网 时间:2024/05/01 13:55
github仓库与原始仓库同步的两种方法
与原始仓库同步可以使用merge或者rebase两种不同的方法。
步骤:
- 添加原始仓库的路径,这里假设为
https://github.com/upstream/master.git
git remote add Upstream https://github.com/upstream/master.git
- commit(提交)本地的变更;如果本地没有修改内容,此步骤可忽略
git commit
- 更新远程仓库,从引用 fork 的原仓库地址同步内容,此时原仓库的 master(主干分支)已经可以在本地访问了。
git remote update Upstream
- checkout(检出)用于操作的本地分支 ,比如 master;如果此时分支为已检出状态,此步骤可忽略
git checkout master
- 直接从远程原始仓库的分支 pull(拉取) 数据
git pull upstream master
PS(第二种方法):或者本地已检出分支基于远程仓库的分支进行 rebase(变基)操作git rebase Upstream/master
- 把本地已检出分支的已提交数据 push(推送) 到自己 fork 的仓库中
git push origin master
解决冲突
在使用pull,push方法同步, 或者使用rebase,push同步的过程中,也许会出现冲突(conflict)。在这种情况,需要手动解决冲突。
比如rebase发生冲突时,Git会停止rebase并会让你去解决 冲突;在解决完冲突后,用”git-add”命令去更新这些内容的索引(index), 然后,你无需执行 git-commit,只要执行: git rebase --continue
这样git会继续应用(apply)余下的补丁。
在任何时候,你可以用–abort参数来终止rebase的行动,并且”mywork” 分支会回到rebase开始前的状态。 git rebase --abort
fetch,pull和rebase的区别
Git中从远程的分支获取最新的版本到本地有这样2个命令:
1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge。
git fetch upstreamgit checkout mastergit merge upstream/master
上述命令相当于首先从远程的upstream原始仓库下载最新的版本到origin/master分支上, 然后合并到本地的master分支。
2. git pull:相当于是从远程获取最新版本并merge到本地。 git pull upstream master
上述命令其实相当于git fetch 和 git merge。
在实际使用中,git fetch更安全一些,因为在merge前,我们可以查看更新情况,然后再决定是否合并。因此可以用git fetch和git merge代替git pull,具体操作可以参考git如何与原始仓库同步
关于rebase与merge的区别还挺复杂的,可以参考advance git,git-变基,git merge 和 git rebase 小结
保持你的代码最新
当你进行开发的时候,原始的仓库主分支很可能会更新,你应该保持你复制的本地分支是目前最新的。此时你就可以使用 (1)git merge,即git fetch和git merge(或者git pull),(2)git rebase两种方法获取最新的原始仓库,并保持你自己的修改。
- github仓库与原始仓库同步的两种方法
- github本地仓库与远程仓库同步
- GitHub远程仓库的创建以及本地仓库与远程仓库同步(文字+图解)
- git如何与原始仓库同步
- github实现本地仓库与远程仓库同步
- 同步github仓库
- git 仓库迁移的两种方法
- Github远程仓库的操作同步
- github 本地仓库与远程仓库的交互
- github fork 出的仓库怎样与原仓库保持一致
- Github 资源同步远程仓库
- Ubuntu下git本地仓库与远程仓库的同步
- Git同步原始仓库到Fork仓库中
- github学习--本地仓库同步github远程仓库出现的问题
- GitHub:仓库的创建与分支合并
- 关联本地git仓库与Github仓库
- 建立github本地仓库与远程仓库
- Github进行fork后如何与原仓库同步
- halcon学习笔记——实例篇(3)条形码识别
- 最近用struts2写网页的一个总结
- CocoaPods 使用时候的问题
- java 线程
- Dubbo
- github仓库与原始仓库同步的两种方法
- halcon学习笔记——机器视觉工程应用的开发思路
- 如果看了此文你还不懂傅里叶变换,那就过来掐死我吧【完整版】
- Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled.
- Java写的自动抢购红米note手机(2016/4/6 米粉节)
- halcon学习笔记——(1)HDevelop language(语法结构特点)
- 7.不要过分包装简历
- 关于Spinner和EditText的总结
- 横向时间进度条