git分支管理介绍和stash命令

git的默认分支就是master。你所做的commit会在master分支上自动移动。在多次提交操作之后,master分支指向最后那个commit object(提交对象链),master跟其他分支没有区别,但是每个仓库几乎都有一个master,是因为 git init 默认创建他。

1 分支创建

通过git branch 来查看和创建分支

git branch 创建分支

git branch dev 创建一个叫做dev的分支

git checkout dev 切换到dev分支

git checkout -b dev2 创建并切换到dev2分支

在别的分支创建文件并提交 在别的分支是看不见的

2 分支删除

不能删除自己所在的分支,我们可以切换到master删除一个合并后的或者没有发生变化的分支

如果一个分支发生变化同时合并不能删除 可以强制删除

git branch -D dev

3 分支合并

分支合并命令使用 git merge dev 合并 dev到当前分支

合并前需要先增加到暂存区 在提交值版本库

分支冲突

在master中创建b.txt文件并增加只保存区且进行提交 然后创建dev分支

修改b.txt文件中的内容

切换到dev分支中然后修改b.txt 文件和master中修改不一样

在切回到master分支中 进行合并会发现有合并冲突

<<<<<<<<<<<HEAD是当前指向的分支所修改

>>>>>>>>>>dev2是dev2分支修改

我们需要手工合并。修改后报了master的内容

我们可以通过图形来查看冲突的提交日志。

git log --graph

git stash

在master分支中修改a.txt文件

这是突然有需求需要切回到dev中

会发现提示错误 git建议我们先提交或者stash修改的内容在切换

执行git stash 会把修改的内容做保存然后我们就可以切换到其他分支

然后我们回到master中 使用git stash list命令可以查看保存的记录

如果想要将stash过的内容恢复出来 通过pop取出最近的恢复并删除stash中的修改

分支细节

master:git默认主分支(这里不作操作)。

stable:稳定分支,替代master,主要用来版本发布。

develop:日常开发分支,该分支正常保存了开发的最新代码。

feature:具体的功能开发分支,只与 develop 分支交互。

release:release 分支可以认为是 stable分支的未测试版。比如说某一期的功能全部开发完成,那么就将 develop 分支合并到 release分支,测试没有问题并且到了发布日期就合并到 stable分支,进行发布。

bugfix:线上 bug 修复分支。

相关推荐
悠然大月季1 小时前
git 怎么导出提交历史,文件是乱码
git·git导出历史记录·git导出历史乱码
chenshiming8023 小时前
在cursor下执行GIT回退版本
git
打点计时器6 小时前
Git快速上手教程
git
我才是一卓7 小时前
linux 安装简易 git 服务端并使用
linux·运维·git
IDIOT___IDIOT8 小时前
关于 git 进行版本管理的时候 gitignore 写入忽略规则而不生效的问题
大数据·git·elasticsearch
不想看见4048 小时前
Git 误删急救手册
大数据·git·elasticsearch
偷懒下载原神8 小时前
【linux操作系统】信号
linux·运维·服务器·开发语言·c++·git·后端
IT二叔9 小时前
Git Flow03-发布流程
git
IT二叔9 小时前
Git Flow08-摘樱桃
git
「QT(C++)开发工程师」10 小时前
Git误操作急救手册大纲
git