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 修复分支。

相关推荐
jayaccc7 小时前
Git命令大全:从入门到精通
大数据·git·elasticsearch
论迹10 小时前
【Git】-- Git安装 & 卸载(ubuntu)
git·ubuntu·elasticsearch
论迹11 小时前
【Git】-- Git基本操作
git·ubuntu
wxr061615 小时前
GIT学习
git·学习
猫头虎17 小时前
2026最新|GitHub 启用双因素身份验证 2FA 教程:TOTP.app 一键生成动态验证码(新手小白图文实操)
git·开源·gitlab·github·开源软件·开源协议·gitcode
爱学英语的程序员18 小时前
让AI 帮我做了个个人博客(附提示词!)
人工智能·git·vue·github·node·个人博客
liu****19 小时前
git工具
git·python·算法·机器学习·计算机基础
wxr061619 小时前
git无法克隆
git
cooldream20091 天前
Git 拒绝推送(Push Rejected)问题全解析与解决方案实战指南
git
wxr06161 天前
GIT无法push
git·gitee