美文网首页我的武林秘籍
git 创建和切换分支

git 创建和切换分支

作者: 弓长晓 | 来源:发表于2020-03-22 19:18 被阅读0次
创建分支

在本地终端运行 git branch『分支名称』 新建一个分支,如新建一个名为『learn-branch』的分支命令如下:

$ git branch learn-branch

切换分支

创建完分之后使用git branch命令查看分支:

* master
  learn-branch

可以看到『 master 』分支上有一个『*』,说明当前是处在『 master 』分支上,也就是说创建完分支后需要我们手动切换到『learn-branch』,使用git checkout 『分支名称』命令:

Switched to branch 'learn-branch'

再使用git branch命令查看,会发现已经切换到『learn-branch』分支:

* learn-branch
  master

创建和切换分支两条命令可以合起来,使用git checkout -b『分支名称』命令可以创建一个分支并切换到此分支上。

合并分支
快进模式合并
快进式合并分支,也叫『Fast Foreword』,简单的理解就是当要合并的分之和目标分支之间没有冲突,只是多做了一些修改时就会采取『Fast Foreword』模式。

例如,我们切换到新建的『learn-branch』分支上,对『learn-git.txt 』文件加一行文字:

I am learning to use git.
然后提交此文件:

$git commit -m "edit learn-git.txt"
[learn-git fce6c4e] branch test
 1 files changed, 1 insertions(+)

接着使用$ git checkout master命令切换回『 master 』分支,再查看『learn-git.txt 』文件,发现刚才添加的内容并不存在!因为那个提交是在『learn-branch』分支上,而『 master 』分支此刻的提交点并没有变。

现在,我们把『learn-branch』分支的内容合并到『 master 』分支上:

 Updating ca62ea0..fce6c4e
 Fast-forward
  learn-branch.txt | 1 +
  1 file changed, 1 insertion(+)

git merge命令用于合并指定分支到当前分支,示例中是把指定分支『learn-branch』合并到『 master 』分支上。

合并完成后会发现『 master 』分支上的『learn-git.txt 』文件内容和在『learn-branch』分支上编辑后的内容完全一样。此时如果想删除『learn-branch』分支,可以使用命令$ git branch -d 『分支名称』。

普通模式合并
当要合并的分之和目标分支之间存在冲突,就无法使用快进合并模式,需要先手动解决冲突,再提交。

例如,我们先切换到『learn-branch』分支,在『learn-git.txt 』文件中写入下面文字并提交:

I am on "learn-branch" branch.
然后切换到『 master 』分支,在『learn-git.txt 』文件中写入下面文字并提交:

I am on "master" branch.
接着输入git merge learn-branch命令:

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

Git 返回结果提醒我们『learn-git.txt 』文件存在冲突,需要我们手动解决冲突。运行 git status 命令,也可以看到出现冲突状况:

 On branch master
 You have unmerged paths.
   (fix conflicts and run "git commit")
 Unmerged paths:
   (use "git add ..." to mark resolution)

       both modified:      learn-git.txt

 no changes added to commit (use "git add" and/or "git commit -a")

现在我们打开『learn-git.txt 』,会发现 Git 加入了冲突解决标记:

  I am on master branch
  =======
  I am on learn-branch branch
  >>>>>>> learn-branch

可以看到 ======= 隔开的上半部分,是 HEAD(即 master 分支,在运行 merge 命令时的工作分支)中的内容,下半部分是在 learn-branch 分支中的内容。解决冲突的办法无非是二者选其一或者人工亲自整合到一起。把上述内容修改为这样:

I am on master branch
接下来运行 git add 来告诉 Git 冲突已经解决,并运行 git commit 来完成合并:

$git commit -m "conflict resolved"
[master cadd265] conflict resloved

相关文章

  • 2018-08-19 git 学习-版本管理

    一、创建和合并分支 1、创建和切换分支:git checkout -b dev 2、切换分支:git checko...

  • git 分支管理

    Git 本地分支管理 版本/分支查看、切换、创建和删除分支简写对照 co==checkout/br===branc...

  • git常用命令记录

    Branch ** 创建分支**git branch xxx切换分支git checkout xxx合并在一起,创...

  • Git命令总结

    一、查看、添加、提交、删除、找回、重置修改文件 二、Git 本地分支管理 1、查看、切换、创建和删除分支 2、分支...

  • Git 创建分支 切换分支 删除分支

    1、创建、切换分支首先,我们创建dev分支,然后切换到dev分支: git checkout命令加上-b参数表示创...

  • git分支管理

    本地分支管理 创建和切换分支 创建分支 在本地终端运行git branch『分支名称』新建一个分支,如新建一个名为...

  • Git - 分支创建和切换

    1. 概述 Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 近端时间,在...

  • git 创建和切换分支

    创建分支 在本地终端运行 git branch『分支名称』 新建一个分支,如新建一个名为『learn-branch...

  • 创建与合并分支

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

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

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

网友评论

    本文标题:git 创建和切换分支

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