昨天糗大了…进入新公司,公司服务器上有Online为线上版本,开发版本默认的为Master,本地clone的开发版为master,公司用的git 自动部署(puh后服务器自动更新了代码…这个有很多配置教程,这里就不赘述啦),
本地开发分支master,一般流程是 合并到online分支后,把online push到远程分支….这个是流程OK不说了
场景是这样的:
本地master
执行 checkout -b online后
git push origin online 发现权限不够….囧事发生了,我以为是账号权限受控….特意去问cto……
好吧,我这里操作是不对滴(按照以往的部署方式不能习惯性的用在新公司..警惕吧)
git pull 操作就可以从远程库中获取某个分支的更新,再与本地指定的分支进行自动merge(即使本地不存在这个分支)

完整格式是:

$ git pull <远程库名> <远程分支名>:<本地分支名>
比如,取回远程库中的online分支,与本地的online分支进行merge,要写成:

git pull origin online:online
如果是要与本地当前分支merge,则冒号后面的<本地分支名>可以不写

git pull origin online
通常,git会将本地库分支与远程分支之间建立一种追踪关系。比如,在git clone的时候,所有本地分支默认与远程库的同名分支建立追踪关系。也就是说,本地的master分支自动追踪origin/master分支。因此,如果当前处于本地online分支上,并且本地online分支与远程的online分支有追踪关系,那么远程的分支名可以省略:

比如,取回远程库中的online分支,与本地的online分支进行merge,要写成:

git pull origin
其实,git pull 命令等同于先做了git fetch ,再做了git merge。即:

git fetch origin online
git checkout online
git merge origin/online
造成我的错误在于我本地使用checkout -b online 是创建的新onlne分支,而与服务器online根本不算是同一个分支,所以要从服务端拉取,切记吧

再次完整总结这次教训:

git 拉取远程指定分支 pull本地不存在的分支
默认,如果git项目只有一个分支,就是master,我们当然可以在本地创建多个分支,并推送到远程git管理平台上,或者将远程git管理平台上的其他分支拉取到自己电脑上。

一、查看本地已有的分支
进入到项目根目录,打开命令行/终端,输入指令,将会显示该项目的本地的全部分支,其中、当前分支的前面有*号。

git branch


二、本地检出一个新的分支并推送到远程仓库
(一).创建本地分支
git checkout -b 新分支名
执行该指令后,会在本地创建一个新分支,该分支是从当前分支上检出的,所以所有文件内容都和当前分支一模一样,这是正常的。创建成功后,将自动切换至新分支上。

比如我要创建一个名为dev1的新分支:

git checkout -b dev1


此时,再执行git branch查看当前本地所有分支,就会看到多了个分支:dev1.


(二).推送本地分支到远程仓库
git push –set-upstream origin 分支名
例如,我要把上一步创建的本地dev1推送到远程仓库:


三、将远程git仓库里的指定分支拉取到本地(本地不存在的分支,今天的囧事就发生在这个环节)
当我想从远程仓库里拉取一条本地不存在的分支时:

git checkout -b 本地分支名 origin/远程分支名
这个将会自动创建一个新的本地分支,并与指定的远程分支关联起来。

例如远程仓库里有个分支dev2,我本地没有该分支,我要把dev2拉到我本地:

若成功,将会在本地创建新分支dev2,并自动切到dev2上。

如果出现提示:

fatal: Cannot update paths and switch to branch ‘dev2’ at the same time.
Did you intend to checkout ‘origin/dev2’ which can not be resolved as commit?
表示拉取不成功。上面的我需要先执行

git fetch
然后再执行

git checkout -b 本地分支名 origin/远程分支名
即可。


其实这里就是我上面描述的,不用fetch,直接 git pull origin dev2:dev2 一个命令可以达到同等效果.

提示已经是最新的了…

无论从事什么行业,只要做好两件事就够了,一个是你的专业、一个是你的人品,专业决定了你的存在,人品决定了你的人脉,剩下的就是坚持,用善良專業和真诚赢取更多的信任。不忘初心 方得始终!

git获取远程服务器的指定分支相关推荐

  1. Git获取远程分支文件并创建自己的远程分支

    Git获取远程分支文件并创建自己的远程分支 1.前期准备软件:git-bash 2.获取远程分支文件过程 创建一个空的文件夹,选择文件夹,并右击,选择该选项打开命令行. 复制需要拉取的远程仓库地址. ...

  2. 获取远程服务器代码到本地文件,获取远程服务器代码到本地文件

    获取远程服务器代码到本地文件 内容精选 换一换 远程桌面协议(Remote Desktop Protocol,RDP),是微软提供的多通道的远程登录协议.本节为您介绍如何使用RDP文件远程登录Wind ...

  3. git 从远程服务器更新本地项目

    从远程服务器上更新别人上传的文件 1.使用git fetch更新,相当于是从远程获取最新版本到本地,不会自动merge git fetch origin master git log -p maste ...

  4. java获取服务器状态_获取远程服务器上 Java 进程的运行状态

    为了安全考虑, 有些服务器会被限制登录. 本文介绍如何获取远程服务器上 Java 进程的运行状态. 启动 jstatd 服务 在服务器端启动 jstatd 服务后, 远程的机器可以通过 rmi 协议获 ...

  5. java 判断进程状态_获取远程服务器上 Java 进程的运行状态

    为了安全考虑, 有些服务器会被限制登录. 本文介绍如何获取远程服务器上 Java 进程的运行状态. 启动 jstatd 服务 在服务器端启动 jstatd 服务后, 远程的机器可以通过 rmi 协议获 ...

  6. java 获取服务器上文件,java获取远程服务器上的文件

    java获取远程服务器上的文件 内容精选 换一换 已成功登录Java性能分析.待安装Guardian的服务器已开启sshd.待安装Guardian的服务器已安装JRE,JRE版本要求为Huawei J ...

  7. ajax访问远程服务器,ajax 获取远程服务器时间

    ajax 获取远程服务器时间 内容精选 换一换 云堡垒机与RADIUS服务器对接,认证登录系统的用户身份.本小节主要介绍如何配置RADIUS域认证模式,并可对配置的RADIUS认证进行用户有效性测试. ...

  8. git访问远程服务器文件,git访问远程服务器文件

    git访问远程服务器文件 内容精选 换一换 当您的裸金属服务器无法SSH登录时,我们首先建议您通过控制台远程登录.SSH登录失败时,请首先尝试能否通过管理控制台远程登录裸金属服务器.登录管理控制台.选 ...

  9. java怎么获取服务器文件夹,java获取远程服务器的文件夹

    java获取远程服务器的文件夹 内容精选 换一换 工具中所有涉及上传文件功能的,如果需要上传的文件大于1GB或者解压后超过剩余磁盘空间的一半,则需要释放磁盘空间或手动将文件上传至服务器,其他情况可通过 ...

最新文章

  1. .net安装_无需安装Python,就可以在.NET里调用Python库
  2. LeetCode-Unique Binary Search Trees
  3. 【redis】redis持久化
  4. Spring Cloud Feign - 内部实现细节
  5. Java修炼之路——基础篇——平台无关性
  6. 什么时候需要使用cqrs_在CQRS读取模型中使用Hibernate进行快速开发
  7. 无法打开虚拟机“Ubuntu2” (D:\software\Ubuntu2.vmx): 未找到文件。 是否从库中移除“Ubuntu2”?
  8. 【原创】Erlang 之 entop 使用问题
  9. perl多进程实战之一
  10. c#正则表达式应用实例
  11. 计算机一级在线练习,计算机一级练习系统
  12. Activity及Dialog的全透明
  13. 腾讯云大学实验室(153个学习案例)免费学服务器技术
  14. 用C++实现QQ自动登陆器,仿佛开了外挂,秒杀各种神操作!
  15. STM32CUBEMX 配置12脚3641BS以及串口显示RTC时间
  16. 【架构师】零基础到精通——网关详解
  17. 一篇6450字的广告,如何开启1.8万亿美金的华尔街传奇?
  18. 瑞利信道下基于判决反馈的16QAM信道均衡(matlab源码)
  19. 入门级数码单反实用指南 如何拍摄建筑
  20. 实战Memcached缓存系统

热门文章

  1. InDesign 教程:如何更改字体和字体大小?
  2. Android自定义view制作lol手游技能板
  3. docker 基础概念 Linux Namespace
  4. Vue+SpringBoot 集成 PageOffice 实现在线编辑Word、excel文档
  5. ubuntu服务器接入两块系统盘,两块硬盘Raid0安装ubuntu server11.04
  6. 词云进阶:神奇的stylecloud
  7. 强制关闭MacBook程序工具Xcode
  8. checklist编写指南
  9. Android App 性能优化总结
  10. 高通新平台,骁龙735处理器参数介绍