git创建分支,git合并分支,git分支管理以及git暂存区的使用

作者: Arvin Chen 分类: Git 来源: Break易站(www.breakyizhan.com)

GIT的分支有什么用呢?其实就是平行开发,如果在两条分支上分别开发各自的功能,等两条分支一合并,这两个功能也就完成了。

我们之前一直提交代码的版本库就是master分支,创建一条分支就是和master类似的,但是会是在上面开发别的需求的dev的分支,名字可以叫做dev分支,也可以叫别的。在实际开发的过程中,采用的是敏捷开发的迭代功能。就是不断创建分支,然后进行迭代合并的功能,对产品的需求进行不断的增加和调优。

创建分支

我们以及知道,在开发的时候,master是我们的主线,我们可以创建一条新的分支进行别的功能的开发,然后master如果有需求也是可以继续开发的,创建分支的命令如下:

$ git checkout -b dev //创建并切换分支<span class="string">

相当于两条下面的命令,创建分支,切换分支:

$ git branch dev //创建分支
$ git checkout dev //切换分支<span class="string">

 

合并分支

如果dev的功能开发好了,要和master的主线合并了,那么,我们就用下面的命令:

$ git checkout master //切换回master
$ git merge dev //合并分支
$ git branch -d dev //删除分支,如果没有需要也可以不用删除

 

分支管理

通常情况下,GIT的合并会默认使用fast forward的模式,这种模式下,删除分支会丢掉分支的信息,我们可以使用 --no-ff参数来采用普通模式的合并:

$ git merge --no-ff -m "dev merge master with no-ff" dev

开发小贴士:一般master分支是比较稳定的,我们程序员一般都会在dev上面干活,然后采用merge的形式进行合并。

暂存区的使用

在软件开发中,很多时候都会要求你停下手头的活去处理别的事情,那么,我们的代码写到一半,commit不了,怎么办呢?这个时候GIT会提供一个暂时储存的功能,是你的代码暂时放在安全的区域,等你的紧急任务,比如紧急Bug修复完成之后再来切回来继续手头的工作,具体代码如下:

$ git add . //现在在dev分支,代码添加文件到暂存区,但是没有commit
$ git stash //把代码暂存起来
$ git checkout master //切回主线
$ git checkout -b EmergencyIssue //创建分支修改EmergencyIssue
//After one hour...... EmergencyIssue fixed.
$ git checkout master //修改好之后切回主线
$ git merge --no-ff -m "merged bug fix EmergencyIssue" iEmergencyIssue //分支合并
$ git branch -d EmergencyIssue //删除分支
$ git checkout dev //切回dev的分支
$ git status //查看状态,但是发现什么都没有
$ git stash list //可以看到暂存区存起来的list
  stash@{0}: WIP on dev: 888888 add merge
$ git stash pop //恢复stash后并删除stash的内容
$ git stash list

其实, git stash pop相当于下面两条命令:

$ git stash apply //恢复stash的内容

$ git stash drop //删除stash的内容
我们可以多次用git stash来把内容存起来,只要用git stash apply加上指定的stash就可以恢复了

$ git stash apply stash@{0}

本文内容来自:git创建分支,git合并分支,git分支管理以及git暂存区的使用 – Break易站

---Author: Arvin Chen   ---Web Address: www.breakyizhan.com  (Break易站)

  •   本文标题:git创建分支,git合并分支,git分支管理以及git暂存区的使用 - Break易站
    转载请保留页面地址:https://www.breakyizhan.com/git/226.html

    "git创建分支,git合并分支,git分支管理以及git暂存区的使用"的笔记

    • 使用git pull的时候多次碰见下面的情况:

      There is no tracking information for the current branch.
      Please specify which branch you want to merge with.
      See git-pull(1) for details.
      
      git pull  
      
      If you wish to set tracking information for this branch you can do so with:
      
      git branch --set-upstream-to=origin/ release

      其实,输出的提示信息说的还是比较明白的。

      使用git在本地新建一个分支后,需要做远程分支关联。如果没有关联,git会在下面的操作中提示你显示的添加关联。

      关联目的是在执行git pull, git push操作时就不需要指定对应的远程分支,你只要没有显示指定,git pull的时候,就会提示你。

      解决方法就是按照提示添加一下呗:

      git branch --set-upstream-to=origin/remote_branch  your_branch

      其中,origin/remote_branch是你本地分支对应的远程分支;your_branch是你当前的本地分支。

      Arvin Chen 2019年5月30日 下午11:52

    发表笔记

    电子邮件地址不会被公开。 必填项已用*标注

    更多阅读