git分支

git的分支是一个版本库。检出分支分支会影响暂存区和工作区的内容。

创建分支:git branch [testing]

检出分支:git checkout [testing]

创建并且检出分支:$git checkout -b iss54

  检出分支之前最后将没有提交的暂存区暂存区和工作区提交,清空

  检出分支会将工作区内容恢复外围检出某分支时它所指向的commit的快照

合并分支:

  $ git merge [branch-name]

删除分支: $ git branch -d [branch-name]

合并冲突:

  出现冲突:两个分支都针对同一文件做出不同修改

    CONFICT :merge conflict in index.html

  $git status差略合并的冲突文件

      unmerged:index.html 冲突文件以unmerged状态列出

合并文件内容

    1、<<<HEAD...

    2、=====

    3、>>>is553

  1~2之间为原分支内容,2~3为新增分支的内容

分支管理:

  $git branch 列出当前所有分支的清单 *所在表示当前所在分支

  $git branch -v 查看各分支最后一次commit信息

  $git branch --merged 查看哪些分支已经被合并入当前分支

  $git branch --nomerged 查看尚未合并的分支

  $git branch -D testing  强制删除分支

远程分支

  远程分支(remote branch)是对远程仓库状态的索引

  git push (远程分支名)(分支名) 提取本地分支并更新对应的远程仓库的指定分支

  git fetch   git fetch抓取远程分支信息,存在本地的远程分支缓存

  将远程分支内容合并到当前分支: git merge origin/serverfix

  从远程分支基础上分化新分支:git checkout -b serverfix origin/serverfix 这样分化出来的分支就是该远程分支的跟踪分支

跟踪分支:

  从远程分支检出的本地分支被称为跟踪分支(tracking branch)。在跟踪分支里,git push 会自动判断向指定分支推送数据,git pull会自动获取所有远程索引

  clone后的本地master分支就是一个跟踪分支

  创建跟踪分支:git checkout -b [分支名] [远程名/分支名]

git branch -vv:查看所有的跟踪分支以及它们的跟踪对象

衍合

  把一个分支整合到另一个分支的方法有两种:merge(合并)、rebase(衍合)

  merge命令:把两个分支最新快照以及二者最新的共同祖先进行三方合并

  衍合rebase:将c3的变化补丁重新再c4的基础上打一遍

  git rebase [分支名]

  git rebase --onto master server client 检出client分支,找错client分支和server分支共同祖先的变化,然后把它们在master上冲演一遍

  $git rebase [主分支] [特性分支] ,会先检出特性分支,然后再在主分支上重演

  

  

上一篇:love easily fade


下一篇:java 重载 : 1.参数个数不同,2.参数类型不同