1-1 创建分支
什么时候需要开分支?
- 隔离线上版本和开发版本
- 大功能开发,不想影响到其他人,自己独立开个分支去开发
SVN经典目录结构:
- trunk-------------------------开发中的文件
- branches-------------------分支
- tags--------------------------标签
新建三个文件夹:trunk【主干】,branch【分支】,tag【标签】,将文件放置到trunk下面
提交:将全部文件勾选
创建分支:参考文章
如何使用 TortoiseGit(小乌龟)进行分支创建、切换与合并以及解决冲突 - CharyGao - 博客园
然后切换分支:在工作区依次点击 鼠标右键 -> TortoiseGit -> 切换/检出;
切换分支选择
在新分支下执行PUSH操作,在对话框中保持远程分支为空白,点击OK,则将在远程创建了新的分支(在PUSH的时候远程服务器发现远程没有该分支,此时会自动创建一个和本地分支名称一样的分支,并将本地分支的内容上传到该分支)。
回到github上查看是否多出一个分支???
参考文章:使用TortoiseGit(小乌龟)操作分支的创建和切换_小乌龟切换分支-CSDN博客
在文件分支中新建一个文件夹,然后将文件夹推送到最新创建的分支中
文件在新创建的分支上有,在主分支上没有
注:工作中经常使用到主干和分支分开管理,这个是很重要的
1-2 合并操作
将修改的版本合并到主干上:将分支上修改的内容合并到主干上
可以使用这种方式这种方式是使用merge进行操作,不推荐这种方式
1-2-1 rmerge操作
这是merge操作的参考文章:
参考文章:GIT 入门详解指南_git使用入门-CSDN博客
参考文章:1-14 Merge与rebase操作-CSDN博客
如何使用 TortoiseGit(小乌龟)进行分支创建、切换与合并以及解决冲突 - CharyGao - 博客园
参考视频:16.分支简介和基本操作_哔哩哔哩_bilibili
参考视频: 16.分支简介和基本操作_哔哩哔哩_bilibili
merge参考操作:
注:“使用git merge dev【分支名】 ---将不同的分支合并到当前分支中”
将dev分支合并到main分支中:首先需要将分支切换到main分支中,然后使用git merge dev将分支合并到main分支中。
1-2-2 查看分支图
git log --graph --oneline --decorate --all
使用以上的命令查看我们的分支图
1-2-3 查看当前分支
切换分支指令
git switch develop[分支名]
查看当前分支
git branch
使用这个指令查看当前分支:显示当前的分支位于主分支中
可以看到分支被合并之后还是存在的,如果我们不手动删除分支的话分支还是会存在的,需要删除分支可以使用以下的指令,该命令表示的具体含义是删除已经完成合并的分支
git branch -d develop【分支名删除分支】
没有被合并的话不能使用 -d 这个命令进行删除,需要使用-D这个命令来删除,没有被合并的情况如下所示:
当然我们可以使用命令的方式手动合并一下,将一个字符串从定向到一个文件中
$ echo "develop-delete-merge" merges88.txt
然后提交文件:以下是一系列操作
注:merge合并的时候会弹出一个文本用于填写提交信息
执行merge操作的时候需要将分支从main分支切换到dev分支,然后执行merge操作
这是merge操作的实际演示
将修改提交到分支develop中之后,切换会主分支
切换会主要分支:master
合并分支
- 首先切换至合并的分支,注意:这里我们想要把 dev 合并到 master,我们就从 dev切换到 master;
- 鼠标右键 -> TortoiseGit -> 合并,选择合并来源分支;
将代码提交到master上
提交代码到远程
推送代码到远程仓库
远程仓库查看
表示推送成功!!! OK
1-2-1 rebase操作讲解
rebase操作参考:18.回退和rebase_哔哩哔哩_bilibili
这是一个rebase操作的理解,在dev上执行rebase操作,dev上的两个分支操作会被变基到main分支上。
在main分支上执行dev操作,会将main分支上的节点变基到dev分支上,主要的原理:和嫁接一直一样吧整个分支嫁接一直到目标分支的最新提交记录后面
rebase操作演示:
第一步:先切换到devlop分支 :
第二步:进行rebase操作git rebase main 将dev分支中的点移基到main分支最新的提交节点上
先查看一下文件的提交树
点击选中变基操作
选择需要变基的分支
查看小乌龟中给出的信息
查看远程仓库是否发生改变
新建一个文件进行移基操作,文件的名字叫做222222,然后commit,然后切换到dev分支上进行移基操作。实际上移基操作在哪一个分支上都可以,但是建议将移基操作放置到main函数中
注:
一定要避免在共享的分支上进行rebase操作!!!,
一定要避免在共享的分支上进行rebase操作!!!,
一定要避免在共享的分支上进行rebase操作!!!,
会改变历史提交,改变当前分支的branch out节点,避免在共享分支中使用
......