git远程、本地分支的同步
来源:互联网 发布:贵州大数据开放 编辑:程序博客网 时间:2024/05/15 13:09
感谢知乎@吕义旺,的详细讲解
本文出自:http://www.zhihu.com/question/21995370,并对文中一些错误做了修改,红字处
疑问:远程有两个分支,如何在本地同步、开发?
一、远程仓库有master和dev分支
1. 克隆代码
2. 查看所有分支
3. 创建本地关联origin/dev的分支
4. 切换到dev分支进行开发
5. 为了更好的理解,最好继续看看下文。
二、假设远程仓库只有mater分支
1. 克隆代码
2. 查看所有分支
3. 创建本地新的dev分支
4. 发布dev分支
发布dev分支指的是同步dev分支的代码到远程服务器
5. 在dev分支开发代码
6. 删除分支
7. 推荐书籍 progit.pdf
书籍格式和语言:中文、英文、PDF、ePub
下载地址:http://git-scm.com/book
1. 克隆代码
git clone https://github.com/master-dev.git # 这个git路径是无效的,示例而已
git branch --all # 默认有了dev和master分支,所以会看到如下三个分支# master[本地主分支] origin/master[远程主分支] origin/dev[远程开发分支]# 新克隆下来的代码默认master和origin/master是关联的,也就是他们的代码保持同步# 但是origin/dev分支在本地没有任何的关联,所以我们无法在那里开发
git checkout -- dev origin/dev # 创建本地分支dev,并且和远程origin/dev分支关联,本地dev分支的初始代码和远程的dev分支代码一样
原文是:
git checkout dev origin/dev
可是产生错误:
error: pathspec 'dev' did not match any file(s) known to git.
error: pathspec 'origin/dev' did not match any file(s) known to git.
error: pathspec 'origin/dev' did not match any file(s) known to git.
应该修正为:(注意中间的两个横杆)
git checkout -- dev origin/dev
或者
git checkout -b dev origin/dev
其中-b表示创建并跳转至新建分支
即
git checkout -b dev origin/dev
等价于git checkout -- dev origin/dev
git checkout dev
git checkout dev # 这个是切换到dev分支,然后就是常规的开发
二、假设远程仓库只有mater分支
1. 克隆代码
git clone https://github.com/master-dev.git # 这个git路径是无效的,示例而已
git branch --all # 默认只有master分支,所以会看到如下两个分支# master[本地主分支] origin/master[远程主分支]# 新克隆下来的代码默认master和origin/master是关联的,也就是他们的代码保持同步
git branch dev # 创建本地分支git branch # 查看分支# 这是会看到master和dev,而且master上会有一个星号# 这个时候dev是一个本地分支,远程仓库不知道它的存在# 本地分支可以不同步到远程仓库,我们可以在dev开发,然后merge到master,使用master同步代码,当然也可以同步
发布dev分支指的是同步dev分支的代码到远程服务器
git push origin dev:dev # 这样远程仓库也有一个dev分支了
git checkout dev # 切换到dev分支进行开发# 开发代码之后,我们有两个选择# 第一个:如果功能开发完成了,可以合并主分支git checkout master # 切换到主分支git merge dev # 把dev分支的更改和master合并git push # 提交主分支代码远程git checkout dev # 切换到dev远程分支git push # 提交dev分支到远程# 第二个:如果功能没有完成,可以直接推送git push # 提交到dev远程分支# 注意:在分支切换之前最好先commit全部的改变,除非你真的知道自己在做什么
git push origin :dev # 删除远程dev分支,危险命令哦# 下面两条是删除本地分支git checkout master # 切换到master分支git branch -d dev # 删除本地dev分支
书籍格式和语言:中文、英文、PDF、ePub
下载地址:http://git-scm.com/book
推荐教程:
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
0 0
- git远程、本地分支的同步
- git 更新本地分支与远程同步
- git同步本地分支
- git同步远程分支
- git 远程分支同步
- git删除远程分支后,本地同步问题
- Git 远程分支的删除与同步
- git 分支管理-----本地分支,远程分支
- git从远程到本地,拉取分支,拉取项目,从其它分支拉取,推送,同步的操作
- 如何查看git本地分支对应的远程分支
- git--- 删除不存在对应远程分支的本地分支
- git 本地分支与远程分支关联的一种方法
- git 本地分支与远程分支关联的一种方法
- git 本地分支与远程分支关联的一种方法
- git删除本地、远程分支
- git 查看本地分支和远程分支,创建本地分支,创建远程分支,本地分支对应的远程分支相关联
- git查看本地分支关联(跟踪)的远程分支之间的对应关系,本地分支对应哪个远程分支
- git提交本地分支到远程分支
- ORACLE統計信息收集
- 欢迎使用CSDN-markdown编辑器
- Java线程详解
- SVN服务器搭建和使用(二)
- SVN服务器搭建和使用(三)
- git远程、本地分支的同步
- TortoiseSVN客户端重新设置用户名和密码
- C++模板学习
- 杨辉三角一维数组实现
- iOS用AVSpeechSynthesizer合成语音
- Arcgis Server发布GP服务
- 为什么软件工程师应该养成写作的习惯?
- sqlite中文乱码问题原因分析及解决
- 《大圣归来》观后感