美文网首页
Git学习笔记(三)分支管理

Git学习笔记(三)分支管理

作者: 篮筐轰炸机5号 | 来源:发表于2018-07-23 10:04 被阅读0次

原文链接:https://zhang35.coding.me/2018-git-7-23.html

Git分支原理

新建dev分支:

在dev分支上提交:


切回到master并合并dev:


团队工作流程:


(图片来自廖雪峰Git教程)

新建分支:

查看当前分支:
$ git branch

新建、切换分支:
$ git branch dev
$ git checkout dev

或者简化命令,直接新建并切换分支:

$ git checkout -b dev

以后的提交就是在dev上的,master不受影响。

合并分支:

切回master,此时代码恢复到master时状态:

$ git checkout master

将dev合并到当前分支master上:

$ git merge dev

普通模式合并

合并分支时,加上--no-ff参数就可以用普通模式合并:

$ git merge --no-ff dev

在merge时会生成一个新的commit。而默认的fast forward合并就看不出来曾经做过合并。

解决冲突

如果两个分支都提交了对同一文件的更改,合并二者将产生冲突:

$ git merge dev
Auto-merging newFile.txt
CONFLICT (content): Merge conflict in newFile.txt
Automatic merge failed; fix conflicts and then commit the result.

git status查看状态如下:

You have unmerged paths.
  (fix conflicts and run "git commit")
  (use "git merge --abort" to abort the merge)

Unmerged paths:
  (use "git add <file>..." to mark resolution)

    both modified:   newFile.txt

冲突文件已经记录了冲突,可直接编辑:

$ vim newFile.txt 

  1 <<<<<<< HEAD                                                                
  2 master add
  3 =======
  4 dev add

修改后,即可提交成功。

这说明$ git merge命令即使遇到冲突也会发生作用,继续合并且标记了冲突,产生了新的修改。

删除分支

$ git branch -d dev

如dev含有未合并的更改,则可用-D强制删除:

git branch -D dev

暂存现场

情景:为解决master分支的一个bug,需临时从dev分支切过去。

这时如果在dev上修改了文件,但未提交,切换分支时会提示:

$ git co master
error: Your local changes to the following files would be overwritten by checkout:
    newFile.txt
Please commit your changes or stash them before you switch branches.
Aborting

“要么提交,要么暂存,否则这些更改就会消失。”

如果还不想提交,那就先stash起来:

$ git stash

然后切换到其它分支改改改。

完事后再切回到dev,查看stash列表:

$ git stash list
stash@{0}: WIP on dev: 471716b dev`

恢复现场:

一是用git stash apply恢复,但是恢复后,还需要用git stash drop来删除stash内容;

另一种方式是用git stash pop,恢复的同时把stash内容也删了:

$ git stash pop

这样dev上未提交的更改又出现了。

相关文章

  • Git学习笔记(三)分支管理

    原文链接:https://zhang35.coding.me/2018-git-7-23.html Git分支原理...

  • 2018-01-28

    git学习笔记 根据廖雪峰老师教程学习整理的常用命令 git版本库创建 文件管理相关 远程库 分支管理 bug修复...

  • 源代码管理-Git

    PPT Xmind 笔记 上课笔记 01-GIT本地操作 02-GIT团队开发操作 03-GIT分支管理(了解) ...

  • Git学习笔记2

    从零开始学习Git,入门网址廖雪峰Git教程。 分支管理 标签管理

  • git常用命令

    分支管理 git 切换分支 git 查看远程分支 git 查看本地分支 git 创建本地分支 git 删除本地分支...

  • Git 笔记(七)分支管理策略和 bug 分支、Feature

    笔记整理自廖老师的 git 教程 分支策略管理 通常我们在合并分支的时候,git 会使用 fast-forward...

  • Git命令整理

    Git命令 ———————————————— git配置: git基本步骤: git分支管理: 创建分支命令: 切...

  • Git 学习笔记 (4):分支管理

    4.1 多分支存在的意义 Git 不仅拥有分布式这样优秀的版本控制系统运作方式,而且具有强大的分支管理能力。多分支...

  • Git学习笔记(进阶)——分支管理

    廖雪峰gitGit-分支-分支的新建与合并 创建分支&转换分支 等同于 git checkout xxx转换分支g...

  • GIT分支管理

    GIT 分支管理 参考:在阿里,我们如何管理代码分支?GitHub Flow & Git Flow 基于Git...

网友评论

      本文标题:Git学习笔记(三)分支管理

      本文链接:https://www.haomeiwen.com/subject/tzldmftx.html