git学习——git分支

git学习——<一>git安装

git学习——<二>git配置文件html

git学习——<三>git操做git

git学习——<四>git版本管理app

1、提出问题

  今天开发的过程当中遇到一个问题,A组接到开发任务要修改file文件,B组在此以前的15天为了完成本身的开发任务对file文件进行了修改,为了同步代码,B组将本身未完成的模块file文件提交到了cvs上。A对此一无所知,A组在完成开发任务后,把file文件彻底上到了现网环境,报错了。post

  固然,避免上述问题的途径不少,有想法的朋友能够帮忙提议解决下。可是在使用git的时候,我就忽然想到,若是每一个团队是在主分支上迁出一个分支工做,直到本身的工做完成以后,再把代码提交到主分支上,那么别人上文件的时候从主分支上迁出的文件上现网环境也不会出上述的问题了。因此,学会建分支,在分支上开发代码,也很实用。学习

2、git分支spa

  git把每次提交串成一条时间线,这条时间线就是一个分支。指针

  如前面几个讲解里所讲到的:首次提交是一个master主分支。head不是指向提交,而是指向master,master才指向提交,故head指向的就是“当前分支”。创建一个list分支,此时,就是一个建立了一个叫list的指针,指向了master相同的commit。而你的head指向了list,其余人的head依然指向master。code

同理,若是你想删除list分支,其实没有删掉list分支提交的东西,只是删除了list的指针。htm

  1.建立list分支blog

git checkout -b list    其中-b表示:建立并切换
  2.查看当前分支
    git branch会列出全部分支,当前分支有一个*号

  3.提交内容到当前的分支

    git add 
    git commit

  4.list分支的工做完成后,切换回master分支

    git checkout master

  5.把list分支的工做成果合并到master分支上

    git merge list
    git merge命令用于合并指定分支到当前分支

  6.删除list分支

    git branch -d list

3、解决冲突

  1.在master上建立分支

git branche -b list

       2.在该分支上编辑readme.txt文件

       3.而后切换到master分支git checkout master,编辑readme.txt文件
       4.合并list 到master
        git merge list

      5.解决冲突

  冲突会包留在文件中,两个部分被===========================分割开。须要人工方式修改整合文件。

  6.删除分支

git branch -d list

  7.查看分支合并的路径

git log --graph --pretty=oneline --abbrev-commit

4、bug分支

  假设,你在list分支上工做。此时master上出现了bug须要修复,那么你必须切换到master分支并修复该bug。

1.因而,你须要保存当前list分支上已工做的内容:把当前工做现场“储藏”起来
    git stash

    能够用git status查看当前工做区是否干净

2.切换到要修复bug的分支,而后建立一个新的分支去修复bug
    修复完bug,提交合
3.切换回你以前的工做分支,恢复工做区
    可使用git stash list查看以前保存的工做区中的内容
git stash pop
  能够恢复原工做区,并把stash中保留的内容删除掉,不然会一直存在。
    至关于以下两条命令:
            git stash apply
            git stash drop
    再用git stash list查看就不存在任何元素了

 5、总结

 

 

 

转载于:https://www.cnblogs.com/brolanda/p/4748936.html