Git分支

新增文件在未提交之前不属于任何分支,即使暂存了也不属于任何分支。因为分支指针指向的都是提交对象。
分支列表

Rench@DESKTOP-I532HP0 MINGW64 /d/learnGit/learnBranch (master)
$ git branch
  dev
  iss53
* master

*标记的为当前分支

查看每一个分支的最后一次提交

Rench@DESKTOP-I532HP0 MINGW64 /d/learnGit/learnBranch (master)
$ git branch -v
  dev    975b21e modify DESCRIPTION.txt in branch dev
  iss53  0cd71e9 add new file named iss53.txt
* master 5d5dff9 merge conflict

切换分支
当你切换分支的时候,Git 会重置你的工作目录,使其看起来像回到了你在那个分支上最后一次提交的样子。 Git 会自动添加、删除、修改文件以确保此时你的工作目录和这个分支最后一次提交时的样子一模一样。

git checkout <branch-name>

新建分支并切换到该分支

#  新建的分支是以当前分支为基础,当前工作目录中的文件在新分支中都可见。
git checkout -b <new-branch-name>
# 等效于下面2条命令 
git branch <branch-name>
git checkout <branch-name>

合并分支
要将a分支merge到master分支,命令如下:

#首先要切换到master分支
git checkout master
#执行merge命令
git merge a

解决冲突文件
冲突文件展示

this is a description
<<<<<<< HEAD
I will modify the same place in different branch.
=======
This is dev message
>>>>>>> dev

<<<<<<< HEAD和=======之间的内容是当前分支的内容
=======和>>>>>>> dev 之间的是dev分支的内容
解决冲突后<<<<<<<<HEAD、=======、>>>>>>>>dev 这些内容都要删除掉。
解决冲突的方式可以手动在vim中编辑,或者在可视化工具中操作。
冲突解决完成后,使用git add <file>标记文件为已解决,并使用git commit提交

删除分支
合并之后一般会删除不需要的分支

# 删除a分支
git branch -d a

查看已经合并的分支

git branch --merge

查看尚未合并的分支

git branch --no-merge
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 创建合并分支 在 Git 中,每次提交,Git 都会把他们串成一条时间线段,这个时间线就是分支。如下图,目前只有一...
    z嘉嘉嘉阅读 463评论 0 2
  • 学习笔记,非原创。谢谢 Git鼓励大量使用分支: 创建与合并分支 :查看分支:git branch创建分支:git...
    Rising_life阅读 855评论 0 1
  • 一、 Git 分支简介 几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分...
    常大鹏阅读 3,004评论 2 41
  • 1. 创建与合并分支 在Git里每次提交会被串成一条时间线,这条时间线就是一个分支.而HEAD是指向当前分支,当前...
    程序员七哥阅读 568评论 0 5
  • 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由...
    八宝君阅读 326评论 0 0