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

相关推荐
71-36 小时前
git 和 tortoisegit的快速使用教学(上传至gitee或GitHub)
git·gitee
唐青枫11 小时前
为什么 .gitignore 不生效?其实你忘了用 git rm --cached!
git
代码or搬砖1 天前
Git学习笔记(三)
笔记·git·学习
虾说羊1 天前
git连接远程仓库并拉去推送以及克隆命令
git
IT~狂男1 天前
GIT 实战命令操作大全,代码变动,推动,修改备注,撤销(篇幅一)
git
前端拿破轮1 天前
从0到1搭一个monorepo项目(一)
前端·javascript·git
消失的旧时光-19431 天前
git的 Rebase
git
风禾万里2 天前
Git怎么管理软件版本(代码,模型,配置等)
git
默默coding的程序猿2 天前
3.git的分支携带问题是什么?怎么解决?
java·git·python·svn·gitee·github·intellij-idea