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

相关推荐
vibecoding日记3 天前
为什么我就想要「线性历史 + Signed Commits」,GitHub 却把我当猴耍 🤬🎙️
git·编程工具
程序员小崔日记3 天前
如何将代码轻松上传到 Gitee?Git 使用全攻略!
git·gitee·上传
Bigger4 天前
为什么你的 Git 提交需要签名?—— Git Commit Signing 完全指南
git·开源·github
DianSan_ERP5 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
红豆子不相思5 天前
Tomcat 环境搭建与集群实战
服务器·git·tomcat
杰哥技术分享5 天前
Git 仓库迁移技术文档:从 CODING.net 迁移至腾讯云 CNB
git
梅孔立5 天前
Ansible 100 台服务器一键管控实战 进阶版
服务器·git·ansible
qq_426003965 天前
git切换当前分支到远程分支
git
ON10N6 天前
100% 纯 Vibe Coding,我是怎么用 AI 撸出一个 VS Code 插件的
git·ai编程·visual studio code