精华内容
下载资源
问答
  • 1.根据本地分支创建远程分支 原文地址:http://hi.baidu.com/lingzhixu/blog/item/4a9b830bb08a329fe850cd5b.html ①本地分支的创建 在本地分支里创建的文件夹及文件,只有进入那个分支里的时候才会在窗口...

    1.根据本地分支创建远程分支


    ①本地分支的创建

    在本地分支里创建的文件夹及文件,只有进入那个分支里的时候才会在窗口中出现,否则不会存在,并不是隐藏了。

    本地分支的来源为执行git checkout -b <branch name> 的那个分支

    例如现在有两个分支,master和b1

    master 分支下有一个commit:

    commit1: add test1.c

    b1分支下有两个commit:

    commit2: add test2.c

    commit1: add test1.c

    如果在master分支下checkout,即:

    git checkout master //进入master分支

    git checkout -b frommaster //以master为源创建分支frommaster

    git log后发现frommaster中有一个提交:

    commit1: add test1.c

    这说明他是从master分支为源头创建的

    如果在b1分支下checkout,即:

    git checkout b1 //进入master分支

    git checkout -b fromb1 //以b1为源创建分支fromb1

    git log后发现fromb1中已经有两个提交:

    commit2: add test2.c

    commit1: add test1.c

    这说明他是从b1分支为源头创建的

    ②远程分支的创建

    从远程分支检出的本地分支,称为跟踪分支(tracking branch)。跟踪分支是一种和远程
    分支有直接联系的本地分支。在跟踪分支里输入git push,Git 会自行推断应该向哪个服
    务器的哪个分支推送数据。反过来,在这些分支里运行git pull 会获取所有远程索引,并

    把它们的数据都合并到本地分支中来.

    $ git push ssh://git@dev.lemote.com/rt4ls.git master // 把本地仓库提交到远程仓库的master分支中

    $ git remote add origin ssh://git@dev.lemote.com/rt4ls.git
    $ git push origin master


    这两个操作是等价的,第二个操作的第一行的意思是添加一个标记,让origin指向ssh://git@dev.lemote.com /rt4ls.git,也就是说你操 作origin的时候,实际上就是在操作ssh://git@dev.lemote.com/rt4ls.git。origin在这里完全可以理解为后者 的别名。

    需要说明的是,默认情况下这条语句等价于提交本地的master仓库到远程仓库,并作为远程的master分支。

    我从master分支创建了一个issue5560分支,做了一些修改后,使用git push origin master提交,但是显示的结果却是'Everything up-to-date',发生问题的原因是git push origin master 在没有track远程分支的本地分支中默认提交的master分支,因为master分支默认指向了origin master 分支,这里要使用git push origin issue5560:master 就可以把issue5560推送到远程的master分支了。

    如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,那么可以这么做。

    $ git push origin test:master // 提交本地test分支作为远程的master分支
    $ git push origin test:test // 提交本地test分支作为远程的test分支,如果远程test不存在,会自动创建

    如果想删除远程的分支呢?类似于上面,如果:左边的分支为空,那么将删除:右边的远程的分支。

    $ git push origin :test // 刚提交到远程的test将被删除,但是本地还会保存的,不用担心

    2.根据远程分支创建本地分支


    以下来自:http://stackoverflow.com/questions/67699/how-do-i-clone-all-remote-branches-with-git

    用Git clone 方法只能在本地创建master分支,如何在本地创建分支跟踪远程其他分支(除master以外)?以下是解答

    First, clone a remoteGitrepository andcdinto it:

    $ git clone git://example.com/myproject
    $ cd myproject
    

    Next, look at the local branches in your repository:

    $ git branch
    * master
    

    But there are other branches hiding in your repository! You can see these using the-aflag:

    $ git branch -a
    * master
      remotes/origin/HEAD
      remotes/origin/master
      remotes/origin/v1.0-stable
      remotes/origin/experimental
    

    If you just want to take a quick peek at an upstream branch, you can check it out directly:

    $ git checkout origin/experimental
    

    But if you want to work on that branch, you'll need to create a local tracking branch:

    $ git checkout -b experimental origin/experimental
    

    Now, if you look at your local branches, this is what you'll see:

    $ git branch
    * experimental
      master
    

    You can actually track more than one remote repository usinggit remote.

    $ git remote add win32 git://example.com/users/joe/myproject-win32-port
    $ git branch -a
    * master
      remotes/origin/HEAD
      remotes/origin/master
      remotes/origin/v1.0-stable
      remotes/origin/experimental
      remotes/win32/master
      remotes/win32/new-widgets
    

    At this point, things are getting pretty crazy, so rungitkto see what's going on:

    $ gitk --all &


    3. 创建分支的原理


    以下来自:http://www.open-open.com/lib/view/open1328069889514.html

    Git 又是如何创建一个新的分支的呢?答案很简单,创建一个新的分支指针。比如新建一个 testing 分支,可以使用git branch命令:

    $ git branch testing

    这会在当前 commit 对象上新建一个分支指针(见图 3-4)。

    Git详解之三 Git分支

    图 3-4. 多个分支指向提交数据的历史

    那么,Git 是如何知道你当前在哪个分支上工作的呢?其实答案也很简单,它保存着一个名为 HEAD 的特别指针。请注意它和你熟知的许多其他版本控制系统(比如 Subversion 或 CVS)里的 HEAD 概念大不相同。在 Git 中,它是一个指向你正在工作中的本地分支的指针(译注:将 HEAD 想象为当前分支的别名。)。运行git branch命令,仅仅是建立了一个新的分支,但不会自动切换到这个分支中去,所以在这个例子中,我们依然还在 master 分支里工作(参考图 3-5)。

    Git详解之三 Git分支

    图 3-5. HEAD 指向当前所在的分支

    要切换到其他分支,可以执行git checkout命令。我们现在转换到新建的 testing 分支:

    $ git checkout testing

    这样 HEAD 就指向了 testing 分支(见图3-6)。

    Git详解之三 Git分支

    图 3-6. HEAD 在你转换分支时指向新的分支

    这样的实现方式会给我们带来什么好处呢?好吧,现在不妨再提交一次:

    $ vim test.rb
    $ git commit -a -m 'made a change'

    图 3-7 展示了提交后的结果。

    Git详解之三 Git分支

    图 3-7. 每次提交后 HEAD 随着分支一起向前移动

    非常有趣,现在 testing 分支向前移动了一格,而 master 分支仍然指向原先git checkout时所在的 commit 对象。现在我们回到 master 分支看看:

    $ git checkout master

    图 3-8 显示了结果。

    Git详解之三 Git分支

    图 3-8. HEAD 在一次 checkout 之后移动到了另一个分支

    这条命令做了两件事。它把 HEAD 指针移回到 master 分支,并把工作目录中的文件换成了 master 分支所指向的快照内容。也就是说,现在开始所做的改动,将始于本项目中一个较老的版本。它的主要作用是将 testing 分支里作出的修改暂时取消,这样你就可以向另一个方向进行开发。

    我们作些修改后再次提交:

    $ vim test.rb
    $ git commit -a -m 'made other changes'

    现在我们的项目提交历史产生了分叉(如图 3-9 所示),因为刚才我们创建了一个分支,转换到其中进行了一些工作,然后又回到原来的主分支进行了另外一些工作。这些改变分别孤立在不同的分支里:我们可以 在不同分支里反复切换,并在时机成熟时把它们合并到一起。而所有这些工作,仅仅需要branchcheckout这两条命令就可以完成。

    Git详解之三 Git分支

    图 3-9. 不同流向的分支历史

    由于 Git 中的分支实际上仅是一个包含所指对象校验和(40 个字符长度 SHA-1 字串)的文件,所以创建和销毁一个分支就变得非常廉价。说白了,新建一个分支就是向一个文件写入 41 个字节(外加一个换行符)那么简单,当然也就很快了。

    这和大多数版本控制系统形成了鲜明对比,它们管理分支大多采取备份所有项目文件到特定目录的方式,所以根据项目文件数量和大小不同,可能花费的时间 也会有相当大的差别,快则几秒,慢则数分钟。而 Git 的实现与项目复杂度无关,它永远可以在几毫秒的时间内完成分支的创建和切换。同时,因为每次提交时都记录了祖先信息(译注:即parent对象),将来要合并分支时,寻找恰当的合并基础(译注:即共同祖先)的工作其实已经自然而然地摆在那里了,所以实现起来非常容易。Git 鼓励开发者频繁使用分支,正是因为有着这些特性作保障。


    展开全文
  • 本地切换并创建新分支 ...拉取远程分支 git pull 报错 here is no tracking information for the current branch. 根据提示输入 git branch --set-upstream-to=origin/doclever_201909 doclever_20...

    本地切换并创建新分支

    git checkout -b 'doclever_201909'

    拉取远程分支

    git pull

    报错 here is no tracking information for the current branch.

    根据提示输入

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

    继续 git pull 成功

    展开全文
  • git创建、拉取,删除本地远程分支

    千次阅读 2017-12-20 16:50:10
    拉取远程分支创建本地分支 Git中从远程的分支获取最新的版本到本地 创建分支删除分支 该博客是我根据以前的博客更改一部分的。 查看分支 使用如下Git命令查看所有远程分支: git branch -r ...

    该博客是我根据以前的博客更改一部分的。

    查看分支

    使用如下Git命令查看所有远程分支:

    git branch -r

    查看本地分支

    git branch
    拉取远程分支并创建本地分支

    方法一
    使用如下命令:

    git checkout -b 本地分支名x origin/远程分支名x
    //以master为模板,创建hhhh分支,并且切换到hhhh分支
    $ git checkout -b hhhh master 

    使用该方式会在本地新建分支x,并自动切换到该本地分支x。

    方式二

    使用如下命令:

    //使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动checkout。
    git fetch origin 远程分支名x:本地分支名x
    Git中从远程的分支获取最新的版本到本地

    Git中从远程的分支获取最新的版本到本地的命令:

    //相当于是从远程获取最新版本到本地,不会自动merge
     git fetch

    (1)首先从远程的origin的master主分支下载最新的版本到origin/master分支上
    (2)然后比较本地的master分支和origin/master分支的差别
    (3)最后进行合并

    git fetch origin master
    git log -p master..origin/master
    git merge origin/master

    上述过程其实可以用以下更清晰的方式来进行:
    (1)从远程获取最新的版本到本地的test分支上
    (2)之后再进行比较合并

    git fetch origin master:tmp
    git diff tmp 
    git merge tmp
    
    git pull:相当于是从远程获取最新版本并merge到本地
    
    git pull origin master

    上述命令其实相当于git fetch 和 git merge
    在实际使用中,git fetch更安全一些
    因为在merge前,我们可以查看更新情况,然后再决定是否合并

    创建分支/删除分支
       git checkout -b + 分支名 创建本地分支
       git branch -D + 分支名 删除本地分支
       git push origin + 分支名 将本地分支推送到远程分支
       git push origin --delete + 分支名  删除远程分支

    将本地分支推送到远程分支是将创建的本地分支推送到远程。但是此时你会发现,git push 命令push不能成功,因为虽然本地分支和远程分支一样,但是两者没有关联。
    这里写图片描述

    添加本地本质和远程分支的关联

    //A 远程分支  A 本地分支 本地分支和远程分支名字相同
    git push --set-upstream origin A
    展开全文
  • git-创建远程分支

    2020-09-14 11:43:09
    1、在当前分支下(一般是master分支),创建test的本地分支 # 根据自己的需求切换分支进行分支的创建。 $ git checkout -b test Switched to a new branch 'test' 换了一个新的分支机构 2、将muscleape分支推送到...

    最近公司项目都是迭代,所以需要创建新分支重新开发。

    1、在当前分支下(一般是master分支),创建test的本地分支 # 根据自己的需求切换分支进行分支的创建。

    $ git checkout -b test
    Switched to a new branch 'test'   换了一个新的分支机构
    

    2、将test分支推送到远程

    $ git push origin test
    Everything up-to-date  一切都是最新的
    

    3、将本地分支test关联到远程分支test上

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

    4、查看本地分支和远程分支的映射关系

    $ git branch -vv
    test f938a3d8e9 [origin/test: gone] 测试test
    

    5、查看远程分支

    $ git branch -r
    origin/test
    

    6、查看本地各个分支目前最新的提交

    $ git branch -v
    test f938a3d8e9 测试test
    

    7、查看远程各个分支目前最新的提交

    $ git branch -r -v
    origin/test  f938a3d8e9 测试test
    
    展开全文
  • 我们常常会根据远程分支创建本地分支,命令如下 git checkout -b dev origin/dev 上面的命令我是想把远程分支 dev 拉到本地来,但是有时候没有用,提示远程分支不存在,我们需要通过下面的命令来操作 git...
  • 根据commitid创建分支

    2020-12-15 14:42:33
    1、在本地远程仓库的某个项目clone到本地 命令:git clone 项目地址 2、进入到项目里面,并查找commitid 命令:git log 3、从某一个commit 切出来一个新分支 test 命令:git checkout commitid-b test 4、...
  • Git-根据tag创建分支

    2020-06-11 17:50:15
    有时候需要根据tag创建分支. 现在主分支上有一个tag为vtest.1.0.FINAL,主分支的名字为master. 1.执行:git origin fetch 获得最新. ...4.通过 git push origin newbranch 把本地创建分支提交到远程仓库.
  • 该命令会创建一个本地分支并,并与远程分支关联,并自动切换到这个本地分支。 如果出现提示: cannot update paths and switch to branch xx at the same time. Did you intend to checkout or...
  • 弹出选择分支的窗口,选择要切换的个人特性分支(备注:根据远程个人特性分支创建本地个人特性分支) 点击OK,Branch name:分支名称与远程分支名称相同,不需要修改。默认勾选Checkout new branch,即创建完分支...
  • 方法一:直接根据远程分支,checkout本地分支,然后push本地分支,修改分支名称为自己创建的远程分支名称 方法二:选择new branch,输入分支名称,创建本地分支 然后直接push ,提交本地分支到远程仓库,...
  • 同时继承已有的记录,在该分支上工作在本地产看github上的所有分支(包括非主分支)在本地创建github上已有的分支:此前应当确保现场安全(比如将现场add并且commit(但不一定要push)然后,根据查到的远程仓库具有的分支,...
  • git之在远程开发分支上开发

    千次阅读 2015-07-31 20:07:45
    gitlab中对master分支是设定为protected的,对于developer身份的成员需要单独拉一个分支让其开发,等到稳定后来merge到master分支中,但是这个...创建developer分支这里注意如果你远程分支删除后,你执行git branch -
  • Git创建分支的正确方式

    千次阅读 2019-04-26 10:49:45
    根据不同场景,选择不同的分支创建方式。 本地创建分支 如果你本地已经安装了 git 命令行工具,你可以直接操作 git 命令来创建分支。前提要拉取远程仓库的代码,本地仓库与远程仓库的代码版本是一致的。 本地创建...
  • 在学习廖剑锋老师git教程-多人协作这一节中,使用下面命令创建远程分支本地的时候报错 $ git checkout -b dev origin/dev 错误提示: fatal: 'origin/dev' is not a commit and a branch 'dev' cannot be created...
  • 在使用Git的过程中,项目会有一个...master分支dev分支都是远程分支。 按下面执行步骤就可以完成合并 1、把源码clone到本地库中(master分支)。 git clone [gitsite git远程网址] 2、在本地新建一个与远程的...
  • 将代码关联到多个远程主分支的方法 有这样一个场景,公司的版本库不能用了,或者迁移了,或者换新地址了,... 根据新的仓库地址A创建A仓库的本地分支a 将属于新仓库A的本地分支a与已有的本地分支b进行合并 将与...
  • 根据git当前提交节点创建分支button-and-input,继承之前所有提交...将本地创建的button-and-input分支提交到远程,名字为button-and-input git push origin button-and-input:button-and-input 达到备份代码目的 ...
  • git常用命令

    2015-08-30 10:13:04
    1.根据远程分支创建本地分支 git checkout -b dev origin/dev2. 取远程分支内更新到本地分支 git fetch origin master git rebase origin/master3.推送本地分支到远程分支 本地分支dev, 远程分支dev git ...
  • 上篇我们整理了如何创建远程仓库,以及如何将本地文件上传至远程仓库,仓库创建好了,我们接下来就要准备开发了,对于使用git而言,通常的习惯就是一人一个分支,等测试无误再合并;又或者根据需求创建分支,整体...
  • git 拉取分支

    2017-10-25 17:13:27
    1.拉取指定分支:git ...-b是根据输入的本地分支名在本地创建分支 2.本地切换分支: git checkout 分支名 3.检查本地所有分支 git branch 4.git 提交代码 no1.git add . no2.git commit -m "注释" no3.git pul
  • git 新建分支

    2020-12-16 13:47:47
    2、远程没有分支,根据不同情况创建本地分支。 远程已有分支 方法一:根据远程分支checkout $ git checkout -b <本地分支名> origin/<远程分支名> 这种方式经常会报下面这个错误: fatal: '...
  • 第一步:根据分支(origin)代码在本地创建新的临时分支,命名为temp第二步:将临时分支(temp)合并到开发分支(feature/dev)第三步:解决合并后的冲突第四步:提交开发分支(feature/dev)并push到远程仓库第五...
  • git笔记

    2017-12-22 14:07:08
    $ git checkout -b feature/online-ask origin/feature/online-ask// 根据远程分支创建本地分支   创建develop分支 $ git checkout -b develop master //创建时新分支,末尾基于该分支 切换到master分支 $ ...
  • 根据github官网的教程,创建一个Spoon-Knife项目的分支 1、在github创建指定项目分支 2、克隆项目到本地 由于此时项目只是存在与远程GitHub,所以必须克隆到本地用于开发, 执行如下命令 即在本地创建了一个项目的...
  • Git常用套路(02)test和dev分支

    千次阅读 2019-08-16 23:53:44
    本文前提:项目要建立master、test、dev三个分支,master属于正式版本...解决方案就是直接新建远程分支,git不仅可以在本地新建分支,还可以在远程建分支,本地根据master创建好test分支后: 1 git branch test ma...
  • Git:Git分支管理

    2017-06-30 15:09:05
    以下所有操作都要保证本地分支内容是最新的,既跟...2.从本地master创建feature-7.30分支(7.30表示日期,只创建本地分支远程无此分支),并切换到此分支: git checkout -b feature-7.30 master 3.push新分支f...
  • 分支切换: 1,确保在远程有自己的分支 2,把本地修改的内容保存到堆栈中 git status //查看本地修改状态 ...git checkout -b devYou origin/you远程分支 //根据远程分支创建并切换分支 4,分支切换成...
  • git分支学习

    2020-07-13 20:43:07
    创建本地分支并跳转 git checkout -b 分支名 查看当前所在分支 git branch 查看clone项目的地址 打开git bash ls //查看所有下载的文件 cd (文件) 分支上传github步骤 在当前文件夹下输入 git add . 将项目上所有的...
  • GIT 鉴于我们一般在idea中进行git操作,因此,...1,创建本地分支 单击"master",根据你的本地分支情况,大致出现如下图: 其中,Local Branches为你当前的本地分支,Remote Branches为远程分支。如果你以前创建...

空空如也

空空如也

1 2 3 4 5 6
收藏数 115
精华内容 46
关键字:

根据远程分支创建本地分支