zoukankan      html  css  js  c++  java
  • git push 远程新分支

    git clone #从远程克隆

    进行一些编辑后

    git add .

    git commit -m "xxx"

    git push #将master推送到master

    git checkout -b test #新建test分支

    编辑

    git add .

    git commit -m "xxxx"

    git push origin test:haha #将本地test分支推送到远程haha分支

    git branch -a

    显示如下

      master
    * test
      remotes/origin/haha
      remotes/origin/master


    git push 时候提醒

    获取远程代码修改后,想要push到远端与原来不同的新分支,可以使用下面的命令实现:
    git push origin 本地分支:远端希望创建的分支

    例如git下来的分支为master

    git branch
    >>> *master
    git push origin master:my_remote_new_branch
    #远端即可创建新的分支my_remote_new_branch,提交本地修改


    git push origin :haha #删除远程分支

    git push origin test #表示git push origin test:test 远端分支与本地分支同名

    如果想要单单使用 git push就推送 需要设置upstream

    git branch --set-upstream-to=origin/test

    此时,修改过后,add commit
    然后直接git push 不加任何参数,就推送到了远端。

    如果是
    git push origin test:haha
    git branch --set-upstream-to=origin/haha test
    git push
    出现如下信息:

    fatal: The upstream branch of your current branch does not match
    the name of your current branch.  To push to the upstream branch
    on the remote, use

        git push origin HEAD:haha

    To push to the branch of the same name on the remote, use

        git push origin test

    To choose either option permanently, see push.default in 'git help config'.
    意思本地分支和远程分支名字不符,

    以下为解决方法:
    因为在git的全局配置中,有一个push.default属性,其决定了git push操作的默认行为。在Git 2.0之前,这个属性的默认被设为'matching',2.0之后则被更改为了'simple'。

    我们可以通过git version确定当前的git版本(如果小于2.0,更新是个更好的选择),通过git config --global push.default 'option'改变push.default的默认行为(或者也可直接编辑~/.gitconfig文件)。

    push.default 有以下几个可选值:
    nothing, current, upstream, simple, matching

    其用途分别为:

        nothing - push操作无效,除非显式指定远程分支,例如git push origin develop(我觉得。。。可以给那些不愿学git的同事配上此项)。

        current - push当前分支到远程同名分支,如果远程同名分支不存在则自动创建同名分支。

        upstream - push当前分支到它的upstream分支上(这一项其实用于经常从本地分支push/pull到同一远程仓库的情景,这种模式叫做central workflow)。

        simple - simple和upstream是相似的,只有一点不同,simple必须保证本地分支和它的远程
        upstream分支同名,否则会拒绝push操作。

        matching - push所有本地和远程两端都存在的同名分支。

    因此如果我们使用了git2.0之前的版本,push.default = matching,git push后则会推送当前分支代码到远程分支,而2.0之后,
    push.default = simple,如果没有指定当前分支的upstream分支,就会收到上文的fatal提示。

    所以git config --global push.default upstream
    之后编辑 add commit之后可以直接git push了。

    比较建议还是远端和本地分支同名。
  • 相关阅读:
    malloc函数具体解释
    Linux pipe函数
    秒杀多线程第四篇 一个经典的多线程同步问题
    LayoutInflater
    D3DXMatrixMultiply 函数
    用qsort排序
    Memcahce(MC)系列(一)Memcache介绍、使用、存储、算法、优化
    ANDROID L——Material Design综合应用(Demo)
    图像切割之(五)活动轮廓模型之Snake模型简单介绍
    uva 10054 The Necklace(欧拉回路)
  • 原文地址:https://www.cnblogs.com/idyllcheung/p/10651092.html
Copyright © 2011-2022 走看看