资料来源

(1) https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E8%BF%9C%E7%A8%8B%E5%88%86%E6%94%AF

1.远程分支

1.1 <remote>/<branch>

(1) 远程分支以<remote>/<branch>的形式命名;

(2) 例如,想查看最后一次与远程仓库origin通信时master分支的状态,可以查看origin/master分支;

1.2 origin/master

(1) 假设网络里有一个在git.ourcompany.com的Git服务器,如果从这里clone, git的clone命令会自动将其命名为origin,拉取它的所有数据,创建一个指向它的master分支的指针,并且在本地将其命名为origin/master(远程分支名); git也会给你一个与origin的master分支指向同一地方的本地master分支;

注1:远程仓库名"origin"与分支名字"master"一样,在git中没有任何特别的含义;

注2: "origin"是运行git clone时默认的远程仓库名字;

补充图片

1.3 git fetch <remote>与git merge <remote> <branch>

(1) 如果要与给定的远程仓库同步数据,运行git fetch <remote>命令,如git fetch origin;

(2) git fetch origin命令查找"origin"是哪一个服务器(在本例中,它是git.ourcompany.com),从中抓取没有的数据,并且更新本地数据库,但不会修改工作目录中的内容;

(3) 运行git merge origin/serverfix可以将git fetch origin对本地数据库的更新合并到当前本地分支上;

补充图片

1.4 git push <remote> <branch>与git push <remote> <local_branch>:<remote_branch>

(1) 当想要公开分享一个分支时,需要将其推送到有写入权限的远程仓库上; 本地分支不会自动与远程仓库同步,必须显式地推送想要分享的分支;

(2) 示例: 当执行git pull origin serverfix时,git自动将serverfix分支名字展开为refs/heads/serverfix:refs/heads/serverfix,意味着推动本地的serverfix分支来更新远程仓库上的serverfix分支;

(3) 示例: git pull origin serverfix:serverfix与git pull origin serverfix效果相同,即推送本地的serverfix分支,将其作为远程仓库的serverfix分支,但是git pull origin serverfix:serverfix这种用法格式可以将本地分支推送到一个命名不相同的远程分支,如git push origin serverfix:awesomebranch,将本地的serverfix分支推送到远程仓库上的awesomebranch分支;

1.5 git checkout -b <local_branch> <remote>/<remote_branch>与git checkout -b <local_branch>

(1) 如果想要在自己的serverfix分支上工作,可以将其建立在远程跟踪分支之上,如git checkout -b serverfix origin/serverfix; 这是从远程分支检出一个本地分支的方法,其中本地分支叫做"跟踪分支","跟踪分支"是与远程分支有直接关系的本地分支; 如果在一个跟踪分支上执行git pull, git能自动地识别去哪个服务器上抓取;

(2) git checkout --track <remote>/<remote_branch>等同于git checkout -b <local_branch> <remote>/<remote_branch>;

(3) 如果要查看所有跟踪分支,可以使用git branch -vv;

【git】3.5 git分支-远程分支的更多相关文章

  1. 理解git分支-远程分支

    远程分支 远程引用是对远程仓库的引用(指针),包括分支.标签等等. 你可以通过 git ls-remote (remote)来显式地获得远程引用的完整列表,或者通过 git remote show ( ...

  2. Git 分支 - 远程分支

    Git 分支 - 远程分支 远程分支 远程分支(remote branch)是对远程仓库中的分支的索引.它们是一些无法移动的本地分支:只有在 Git 进行网络交互时才会更新.远程分支就像是书签,提醒着 ...

  3. git 创建标签推送远程分支

    目录 git 创建标签推送远程分支 查看tag 创建tag 推送标签到远程仓库 删除tag git 创建标签推送远程分支 标签概念: tag, 对于迭代频繁的项目. 每一个标签可以理解为一个版本. 创 ...

  4. git 强推本地分支覆盖远程分支

    git 强推本地分支覆盖远程分支git push origin 分支名 --force

  5. 【Git项目管理】Git分支 - 远程分支

    远程分支 远程引用是对远程仓库的引用(指针),包括分支.标签等等. 你可以通过 git ls-remote (remote) 来显式地获得远程引用的完整列表,或者通过 git remote show ...

  6. git将代码提交到远程分支(非主分支)

    一个仓库可以包含多个分支,有一个默认的主分支:master 若想提交代码至远程仓库的某个分支(非主分支) 先查看下本地分支以及远程分支:git branch -a 由本地分支(非主分支master)提 ...

  7. git如何clone所有的远程分支

    问题: 文/赖忠标 周末在家里改了下代码,新建了个angular版本的分支,然后push到coding.net上面了. 今天,到公司却不知道怎么拉取这个angular分支到公司的电脑上面.如下图(1) ...

  8. git branch --set-upstream 本地关联远程分支

    最近使用git pull的时候多次碰见下面的情况: There is no tracking information for the current branch.Please specify whi ...

  9. git 在本地拉取远程分支的代码(并不做提交操作)

    1. git fetch 获取远程的所有分支 2. 在执行 git checkout -b local-branch-name origin/remote-branch  就可以将远程分支remote ...

  10. Git 学习笔记--拉取远程分支到本地

    1.查看远程分支,和上面的第一步相同2. 从远程获取最新版本到本地 git fetch origin master:temp git fetch origin master:temp 这句命令的意思是 ...

随机推荐

  1. 基于docker的spark分布式与单线程、多线程wordcount的对比实验

    1. 分布式环境搭建 1.1 基于docker的spark配置文件 docker-compose.yml version: '2' services: spark: image: docker.io/ ...

  2. LeetCode-1706 球会落在何处

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/where-will-the-ball-fall 题目描述 用一个大小为 m x n 的二维网格 ...

  3. 【8】java之引用传递

    一.引用传递 ​引用传递是整个 java 的精髓所在 引用传递核心意义:同一块堆内存空间可以被不同的栈内存所指向,不同栈内存可以对同一块堆内存内容进行修改. 范例:第一道引用传递范例 class Me ...

  4. 【转载】docker swarm集群中部署traefik和其他服务

    以下配置来自:https://blog.csdn.net/wave_sheep/article/details/104186192 感谢作者! traefik.yaml version: '3' se ...

  5. 修复gitlab权限(docker方式搭建)

    docker exec -it gitlab update-permissions docker restart gitlab

  6. charles证书安装-客户端证书

    1.iOS设置教程: 1)wifi中配置代理 2)浏览器中输入chls.pro/ssl,进行证书下载 3)证书下载成功后,设置--通用--描述文件–安装刚下载的证书 4)设置--通用--关于本机--证 ...

  7. Springboot 添加redis

    在项目中常常会用到redis来缓存信息,下面就是如何在Springboot中添加redis 1:在pom.xml中添加依赖 2:配置redis 3:测试使用redis 1:在pom.xml中添加依赖, ...

  8. Clion在一个cmake项目中运行多个main函数

    # 遍历项目根目录下所有的 .cpp 文件 file (GLOB files *.cpp */*.cpp) foreach (file ${files}) string(REGEX REPLACE & ...

  9. QML笔记——MouseArea的覆盖区域

    问题摘要: 初学QML,今天发现一个奇怪的现象,调用MouseArea的位置不同,结果不同. 1.一个简单的qml示例 Rectangle { id: root width: 320 height: ...

  10. java LinkedList 原理

    概述 底层数据结构是双向链表(jdk1.6是双向循环,1.7开始不循环了),所以 新增/删除效率高,查询/修改效率相对较低 全能冠军:既是一个顺序容器,也是队列,还可以作为栈使用 未实现 Random ...