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
  • 向本地仓库添加远程库
    [email protected]:userName/name.git 远程仓库的SSH地址,也支持HTTPS地址
git remote add origin [email protected]:userName/name.git
  • 首次提交本地仓库到远程库
    -u 将本地仓库master与远程仓库master进行关联
    -f 覆盖远程仓库现有的内容
    origin master 远程主分支
git push -u -f  origin master

多人协作

  • 多人协作工作模式

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

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

  • 修改合并冲突历史
    • rebase操作可以把本地未push的分叉提交历史整理成直线;
    • rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比。
    git rebase
    

你可能感兴趣的:(Git相关笔记《分支管理》)