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

相关推荐
এ慕ོ冬℘゜19 小时前
Git 基础入门|和 SVN 对比 + 四大区域 + 常用命令详解
git·svn
DevLoom_1 天前
macOS 命令行 curl/git 报 SSL 证书错误?eMudhra 事件完整修复指南
git·macos·ssl
keyipatience1 天前
Git学习(4)Git分布式优势与实战配置全解析
git·学习
SH的全栈笔记1 天前
敲下 git add 的那一刻,.git 里多了什么
git·后端
正经教主1 天前
【FDE系列】阶段2:Day 45(up详细版):综合实战 — Docker + Nginx + Git 完整部署与本周收官
人工智能·git·nginx·docker·fde
Change!!2 天前
git小乌龟,切换到新分支处理
git·git切到新分支,旧代码贮藏
LannyChung3 天前
PowerShell 下 git log 中文乱码的完整排查与解决
windows·git
import_random3 天前
[git]本地main,origin/main,远程main(关系2)
git
golang学习记3 天前
Zed Git重大更新:目录级对比支持分栏Diff
git·vscode·zed
阿俊-全栈开发3 天前
LikeShop 单商户高级版二开项目的 Git 分支管理与版本发布规范
git·likeshop·likeshop开源商城·likeshop多商户