Git相关笔记《分支管理》

分支的基本操作

branchName 分支名称

  • 创建
git branch branchName
  • 切换分支
git checkout branchName
  • 创建并切换到该分支
git checkout -b branchName
  • 查看分支列表
git branch
  • 将指定分支下的修改合并到当前分支
git merge branchName
  • 删除指定分支
git branch -d branchName
  • 强制删除没有被合并过的指定分支
git branch -D branchName
  • 删除远程分支
git push origin --delete branchName
  • 查看分支合并图
    • 简洁的分支合并图
    git log --graph --pretty=oneline --abbrev-commit
    
    • 详细的分支合并图
    git log --graph
    

冲突

<<<<<<< HEAD 冲突开始部分
======= 差异的分割
>>>>>>> 冲突结束部分

<<<<<<< HEAD
Creating a new branch is quick & simple.
=======
Creating a new branch is quick AND simple.
>>>>>>> feature1

小结有冲突的话,要先解决冲突,再进行add commit就可以合并了

分支管理策略

  • 合并模式
    Fast forward 快进模式,也是默认使用的模式。该模式下删除分支后,会丢掉分支信息。
    --no-ff 禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样会更安全,而且有利于从分支历史上就可以看出分支信息
  • 管理策略
    master 将主分支作为发布版本的稳定分支
    vice master 新开辟一个代表主分支的vice master,其他分支的提交都提交给该分支,由该分支将稳定的内容提交给master
    other branch 开发调试的子分支
    分支管理图打样

Bug分支

1、stash 可以暂时储存工作区的修改内容,然后我们可以创建分支来进行修复Bug。
2、stash 可以存在多个,取对应的stash@{0}就可以了

  • 暂时存储工作区内容
    • 存储
    git stash
    
    • 取出存储内容
      • 取出后直接删除备份
      git stash pop
      
      • 取出后不删除备份
        • 取出
        git stash apply
        
        • 删除
        git stash drop
        
      • 取出指定的stash内容
      git stash apply stash@{0}
      
  • 查看stash列表
git stash list

小结
修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场

远程仓库

  • 查看远程仓库信息
    • 只查看远程仓库名称
    git remote
    
    • 查看详细的远程仓库信息
    git remote -v
    
  • 删除本地关联的远程仓库信息
git remote rm origin
  • 推送分支
    • 推送指定分支到远程仓库
    git push origin branchName
    
    • 注意。一般mastervice master需要推送,其他修改Bug、增加功能的分支不需要提交给远程。
  • 拉取远程仓库的内容到本地
git pull
  • 本地分支与远程分支建立联系
git branch --set-upstream-to=origin/branchName branchName
  • 向本地仓库添加远程库
    git@gitee.com:userName/name.git 远程仓库的SSH地址,也支持HTTPS地址
git remote add origin git@gitee.com:userName/name.git
  • 首次提交本地仓库到远程库
    -u 将本地仓库master与远程仓库master进行关联
    -f 覆盖远程仓库现有的内容
    origin master 远程主分支
git push -u -f  origin master

多人协作

  • 多人协作工作模式

多人协作的工作模式通常是这样:
1、首先,可以试图用git push origin <branch-name>推送自己的修改;
2、如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
3、如果合并有冲突,则解决冲突,并在本地提交;
4、没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

小结
如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>

  • 修改合并冲突历史
    • rebase操作可以把本地未push的分叉提交历史整理成直线;
    • rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比。
    git rebase
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,542评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,596评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,021评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,682评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,792评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,985评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,107评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,845评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,299评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,612评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,747评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,441评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,072评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,828评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,069评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,545评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,658评论 2 350

推荐阅读更多精彩内容

  • Git常用语法 [TOC] Git简介 描述 ​ Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,...
    君惜丶阅读 3,500评论 0 13
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,645评论 9 163
  • Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。这样一来,任何一处协同...
    __silhouette阅读 15,860评论 5 147
  • 以不同的背景写下我们的故事,小猪,
    太阳神教教主阅读 227评论 0 0
  • 1、一个人,如果你不逼自己一把,你根本不知道自己有多优秀。 2、 赚钱是一种能力,花钱是一种水平,能力可以练,水平...
    A多多A阅读 647评论 0 0