转自:https://blog.csdn.net/qq_41306423/article/details/101701991

关于 git pull 和 git pull origin develop 的区别
闲来无事,正于网上冲浪之际,一位漂亮小姐姐抛来一个问题:git pull 和 git pull origin develop 有啥区别,一个答案从脑海里一闪而过——没啥区别,但好像也不对,没啥区别的话为啥还搞两个命令,至少秉着简单性原则来讲是这样的。于是乎,我又去网上溜了一圈,结合最近实际操作时遇到的小情况,整合除来下面的理解:
两者的区别
git pull origin develop
git pull origin develop 动作是去获取远程仓库中 develop 分支上的 commits,然后把origin/develop merge 到你目前 checkout 下来的分支中

git pull
git pull 就是去你之前 checkout 的分支上去操作,比如,如果你本地的 checkout 的分支track 的就是 origin/develop,那么 git pull 就等于 git pull origin develop

结合我遇到的情况加深理解
背景介绍
我拿到的项目 git 仓库原本是只有一个 master 分支,我自己新建了一个本地 develop 分支和另一个本地的分支(这个本地分支就是我们开发时用的),每次提交代码时,首先在开发分支中 commit,然后切换到 develop 中进行 merge , 然后把本地的 develop 推到远程的 develop 分支上,这样屡试不爽

意外情况
最近,受以前训练的影响,在 develop 上习惯性的进行 git pull 操作,却没有成功,画面如下:

它提示我说我的这个 develop 分支还没有设置 track 信息,所以可以选择使用 git pull origin develop 命令,或者我要是想设置 track 信息的话,可以使用 git branch --set-upstream-to=origin/ develop 命令

按照它的提示,我操作了一哈,首先用一哈 git pull origin develop:

可以看到已经是最新鲜的代码了,没毛病,说明成功了!

然后我再设置一下 track 信息:

OK,大功告成,我让本地 develop 分支跟踪远程的 develop 分之后,再进行 git pull 操作就没有提示了,这个时候实际上和进行 git pull origin develop 是一回事了

转自:https://www.cnblogs.com/qianqiannian/p/6008140.html

Git push:

    Git push

在使用git commit命令将修改从暂存区提交到本地版本库后,只剩下最后一步将本地版本库的分支推送到远程服务器上对应的分支了,如果不清楚版本库的构成,可以查看我的另一篇,git 仓库的基本结构。

git push的一般形式为 git push <远程主机名> <本地分支名>  <远程分支名> ,例如 git push origin master:refs/for/master ,即是将本地的master分支推送到远程主机origin上的对应master分支, origin 是远程主机名,

第一个master是本地分支名,第二个master是远程分支名。

    1.1 git push origin master

如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建

1.2 git push origin :refs/for/master 

  如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支,等同于 git push origin --delete master

    1.3 git push origin

   如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支

 1.4 git push

  如果当前分支只有一个远程分支,那么主机名都可以省略,形如 git push,可以使用git branch -r ,查看远程的分支名

 1.5 git push 的其他命令

  这几个常见的用法已足以满足我们日常开发的使用了,还有几个扩展的用法,如下:

    (1) git push -u origin master 如果当前分支与多个主机存在追踪关系,则可以使用 -u 参数指定一个默认主机,这样后面就可以不加任何参数使用git push,

      不带任何参数的git push,默认只推送当前分支,这叫做simple方式,还有一种matching方式,会推送所有有对应的远程分支的本地分支, Git 2.0之前默认使用matching,现在改为simple方式

      如果想更改设置,可以使用git config命令。git config --global push.default matching OR git config --global push.default simple;可以使用git config -l 查看配置

    (2) git push --all origin 当遇到这种情况就是不管是否存在对应的远程分支,将本地的所有分支都推送到远程主机,这时需要 -all 选项

    (3) git push --force origin git push的时候需要本地先git pull更新到跟服务器版本一致,如果本地版本库比远程服务器上的低,那么一般会提示你git pull更新,如果一定要提交,那么可以使用这个命令。

    (4) git push origin --tags //git push 的时候不会推送分支,如果一定要推送标签的话那么可以使用这个命令

 1.6 关于 refs/for

  // refs/for 的意义在于我们提交代码到服务器之后是需要经过code review 之后才能进行merge的,而refs/heads 不需要

学习无他法,唯有持之以恒

Git pull and push的更多相关文章

  1. git pull和push冲突

    http://blog.csdn.net/matrix_laboratory/article/details/18034509 问题描述 1 有人改动了 文件A.java,提交到git 2 我没有pu ...

  2. 拾遗:git pull 与 push 远程分支与本地分支顺序识别问题

    最后放置的都是数据最终到达的仓库分支名称 对于pull来说,是拉到本地,所以本地仓库分支名称写在最后 git pull [--force] [remote repo]:[my repo] 对于push ...

  3. windows git pull或者push代码时弹出安全框解决办法

    目录 1.打开控制面板->凭据管理器>删除已有的git凭证 2.新增一个凭证 @ 如果报如下错误: 1.打开控制面板->凭据管理器>删除已有的git凭证 2.新增一个凭证 网络 ...

  4. git与github安装、配置、pull、push

    操作系统是Ubuntu 16.04 LTS 64bit 1 安装git (1)安装 sudo apt-get install git-core (2)一些全局变量的初始化 在本地建立一个文件夹,然后做 ...

  5. linux服务器git pull/push时提示输入账号密码之免除设置

    1.先cd到根目录,执行git config --global credential.helper store命令 [root@iZ25mi9h7ayZ ~]# git config --global ...

  6. git push origin master、git pull出现如下错误

    git push origin master出现如下错误: Counting objects: , done. Writing objects: % (/), bytes, done. Total ( ...

  7. git push和git pull

    git push git push如果直接使用,不加repository和refspec,那么首先根据当前branch的branch name,在配置文件中找到branch.branchName.re ...

  8. Git 远程分支的pull与push

    Git 远程分支的pull与push 远程分支信息查看 git branch -r #查看远程分支 git branch -a #查看所有分支,本地和远程 git remote show [remot ...

  9. Integrates Git with Sublime 3 to pull or push to Github by using Sublime plugin Git

    1. Git must be installed, Sublime plugin "Git" only connects Sublime with Git. Download UR ...

随机推荐

  1. 在Ubuntu20中安装Elasticsearch和Kibana6.8.1版本 母胎教学

    首先,我们在Ubuntu中安装Elasticsearch6.8.1命令如下: $ docker pull elasticsearch:6.8.1 拉取完成后,创建Elasticsearch6.8.1容 ...

  2. PAT甲级:1136 A Delayed Palindrome (20分)

    PAT甲级:1136 A Delayed Palindrome (20分) 题干 Look-and-say sequence is a sequence of integers as the foll ...

  3. [SHOI2014]概率充电器 题解

    注意到本题的贡献是不带权的,所以期望其实就是每个点的概率之和. 本题正着做好像不是很好做,要考虑 \(P(A+B)=P(A)+P(B)-P(A)P(B)\) 的容斥(因为这是两个条件至少满足一个,所以 ...

  4. Vulnhub -- DC1靶机渗透

    信息收集 开启了 22端口,ssh服务 80,http服务 111,RPC服务 先观察80端口 发现采用的是Drupal的cms 目录爆破: 但是,没有找到可以直接利用的点 登录的页面进行SQL注入即 ...

  5. 我去!爬虫遇到JS逆向AES加密反爬,哭了

    今天准备爬取网页时,遇到『JS逆向AES加密』反爬.比如这样的: 在发送请求获取数据时,需要用到参数params和encSecKey,但是这两个参数经过JS逆向AES加密而来. 既然遇到了这个情况,那 ...

  6. C++第三十四篇 -- 安装Windows Driver后,编译以前项目出现打不开lib文件

    VS2017默认是没有安装WDK的,但是我们写驱动文件的话需要用到WDK.不过安装了WDK后,发现以前一些正常的项目在Release模式下编译会报LINK1104,无法打开.lib的错误 针对这个错误 ...

  7. 性能测试之查看cpu命令

    top -m 用户空间进程(us). 内核空间进程(sy). 高nice值的用户空间进程(ni). 空闲(id). 空闲等待io(wa). 中断上半部(hi). 中断下半部(si). 以及steal时 ...

  8. xmind2020 zen 10.3.1安装破解教程

    hi大家好,xmind zen 2020 10.3.1是一款优秀的思维导图工具,我和我爸爸都在用,功能包括去掉xmind zen水印.上传图片等功能,支持windows操作系统! 文章教大家安装并解锁 ...

  9. Error: Could not find or load main class ***

    jni 本地方法的总结 1,第一步,javah D:\wksp_study\designbook\target\classes> //clas文件所在目录执行 javah -cp D:\wksp ...

  10. div 模拟alert弹出框

    --------------信息展示弹出框---------------- <style> .over{background-color: rgba(0, 0, 0, 0.7);displ ...