Git分支

作者: LeaYw | 来源:发表于2019-01-04 21:13 被阅读5次

分支简介

分支创建

git branch testing

分支切换

git checkout testing

分支新建与合并

新建分支

git checkout -b iss53

分支的合并

git checkout master
git merge iss53

分支删除

git branch -d iss53

遇到冲突时的分支合并

解决冲突之后,对冲突文件使用git add命令将其标记为冲突已解决。

分支管理

当前分支列表

git branch

每个分支最后一次提交

git branch -v

已经合并到当前分支的分支

git branch --merged

未合并到工作的分支

git branch --no-merged

分支开发工作流

长期分支

master
dev

特性分支

issue
hotfix

远程分支

远程引用列表

git ls-remote

git remote show

推送

git push origin serverfix

等价于

git push origin serverfix:serverfix

其他协作者抓取数据是,本地会生成一个远程分支origin/serverfix,指向服务器的serverfix分支的引用。

git fetch origin

但是本地不会生成一个新的serverfix分支,只有远程分支的引用。
可以使用如下命令追踪:

git checkout -b serverfix origin/serverfix

跟踪分支

Git提供了--track快捷方式跟踪分支

git checkout --track origin/serverfix

可以自定义本地分支名字

git checkout -b sf origin/serverfix

设置已有的本地分支追踪刚刚拉取的远程分支,或者想要修改正在追踪的上游分支,可以使用-u或者--set-upstream-to选项运行git branch设置

git branch -u origin/serverfix

查看所有跟踪分支

git branch -vv

拉取

git fetch 从服务器抓取本地没有的数据时,并不会修改工作目录中的内容。需要自己合并。
git pull在大多数情况下的含义是一个git fetch 紧接着一个git merge

删除远程分支

git push origin --delete serverfix

Rebasing

Rebase的基本操作

原理:首先找到这两个分支的最近共同祖先,然后对比当前分支相对于该祖先的历次修改,提取相应修改并存入临时文件,然后将当前分支指向目标基底,最后以此将之前另存为临时文件的修改依序应用。

git checkout feature
git rebase master
git checkout master
git merge feature

更有趣的Rebase例子

git rebase --onto master feature1 feature2
git checkout master
git merge feature2

取出feature2分支,找出feature2分支和feature1分支共同祖先之后的修改,然后把它们在master上重放一遍。

git rebase [basebranch] [topicbranch]可以直接讲特性分支rebase到目标分支,能省去切换到特性分支,再去执行rebase命令。

git rebase master feature
git checkout master
git merge feature

Rebase的风险

  • 不要对在你的仓库外有副本的分支执行rebase

用Rebase解决Rebase

Rebase VS Merge

相关文章

  • git常用命令

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

  • 关于Git使用笔记

    Git使用分支: 查看所有分支:git branch -a 创建分支:git branch de 切换分支:git...

  • git 查看远程分支、本地分支、删除本地分支

    1查看远程分支git branch -a 2查看本地分支git分支 3创建分支git分支测试 4删除远程分支git...

  • git分支指令

    git分支指令 查看git都有哪些分支:git branch -a(包括本地分支和远程分支)git branch ...

  • 创建与合并分支

    Git鼓励大量使用分支:查看分支:git branch创建分支:git branch 切换分支:git...

  • git分支和squelize-cli相关命令

    Git鼓励大量使用分支: 查看分支:git branch 创建分支:git branch 切换分支:git che...

  • 分支

    新建分支git branch [分支名] 切换分支git checkout [分支名] 新建分支并切换到分支git...

  • git 常用指令

    分支 查看分支: git branch 查看远程分支: git branch -a 创建分支: git branc...

  • 创建与合并分支

    查看分支:git branch 创建分支:git branch 切换分支:git checkout 创建+切换分支...

  • 【操作】git版本控制流入门命令FQ#1

    查看分支:git branch -a创建分支:git branch切换分支:git checkout创建+切换分支...

网友评论

      本文标题:Git分支

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