网站建设答辩ppt模板,安微省建设庁官方网站,做相册哪个网站好,汕头网站备案#x1f381;个人主页#xff1a;我们的五年
#x1f50d;系列专栏#xff1a;Linux网络编程
#x1f337;追光的人#xff0c;终会万丈光芒
#x1f389;欢迎大家点赞#x1f44d;评论#x1f4dd;收藏⭐文章
相关笔记#xff1a; https://blog.csdn.net/djd… 个人主页我们的五年
系列专栏Linux网络编程
追光的人终会万丈光芒
欢迎大家点赞评论收藏⭐文章
相关笔记 https://blog.csdn.net/djdjiejsn/category_12893502.html
前言 分布式版本控制系统Distributed Version Control System简称 DVCS是一种将代码仓库完整地复制到每个开发者本地的版本控制系统。与集中式版本控制系统如 SVN不同分布式版本控制系统中的每个开发者都拥有代码仓库的完整副本包括所有的历史记录、分支和标签等信息。 目录
1.分支
1.1认识分支
1.2创建分支
1.3切换分支
1.4 在分支进行代码操作
2分支合并
2.1未发生合并冲突的合并
2.2发生冲突的合并
3.删除分支
4.Bug分支 1.分支
1.1认识分支
在前面就讲过每一次提交都会有记录有一条线这是master的主分支。然而我们还可以创建其他的分支进行分支操作分支编写代码。
下面就是没其他其他分支的master分支。
git log --graph --abbrev-commit 1.2创建分支
git branch进行创建分支没有加名字就是查看当前所有的分支加上就是创建分支
git branch //查看所有的分支
git branch (分支名) //创建分支
比如我查看我现在的分支
现在只有一个分支master分支然后我们创建了dev1dev2分支。
然后就再次用git branch进行查看分支就有三个了。
* 绿色的就是当前所在的分支。*表示HEAD指向的哪个分支。 1.3切换分支
前面的git checkout -- 是撤销工作区的修改撤销到最近一次的暂存区或者版本库。
但是不加--的意思就是分支切换了。
git checkout (分支名) //分支切换 此时的HEAD就指向dev1分支了。 1.4 在分支进行代码操作
我们在dev1分支进行代码编写然后完成一次addcommit操作以后进行的就是dev分支进行操作。而且在其他分支下是看到这个新增的代码的。
在dev1新增并且保存在master分支还有dev2分支都是看不到的。 要想在master分支看到就要在master进行合并。 2分支合并
2.1未发生合并冲突的合并
使用git merge进行分支合并。
git merge (分支名) 然后我们进行查看就可以看到dev分支的内容了。
这时候就是正常的合并没有出现合并冲突的。
特别注意一下Fast-forward这个ff合并不会产生新的commit信息。
下面的最新一次信息还是devcommit产生的信息。 这个用图示来解释就是master直接指向dev1分支了。
master直接就指向最新一次的dev1进行的commit。 简化的就是这样了 正常情况下 merge如果没有发生冲突也没有写--no-ff 进行合并那么就是Fast forward模式进行合并这种合并不会产生新的commit。这种合并如果以后把分支删除了就分辨不出来这部分是merge到master里面来的还是正常mastercommit提交的。所以我们不建议使用Fast forward模式进行操作。而是每次merge时都要--no-ff表示不要进行Fast forward模式进行合并。
加上这个选项以后就要-m commit描述信息.
这样就会形成一个新的commit。
2.2发生冲突的合并
这种情况就要手动进行代码修改然后再进行一次commit。 Auto-merging file1 CONFLICT (content): Merge conflict in file1 Automatic merge failed; fix conflicts and then commit the result. 提示信息说自动合并出错需要手动fix然后进行commit最后的结构。
然后我们打开我们的file1
aaaaaaaaaaaaaaaaaa
dev1 add bbbbbbbbbHEAD
master master masterdev dev dev dev devdev
HEAD到是当前分支的内容。
到dev是dev分支修改的内容。
然后我们想要怎么修改我们手动进行修改再进行commit。
如果没有发生冲突也是可以用--no-ff 进行mege形成新的commit的。 3.删除分支
当分支合并以后分支就基本没用了我们就可以把分支删除了使用的命令是
git branch -d (已经合并的分支名)
这个只能删除已经合并的分支。
不能删除还没有合并的分支。
删除没有合并的分支要d变为D才能删除。
git branch -D (未合并的分支名) 4.Bug分支
git stash的作用是保护还没有commit的工作区和暂存区。 git stash 的主要用途 临时保存更改当你正在开发某个功能或修复某个问题时突然需要切换到另一个任务但又不想提交当前未完成的更改。 清理工作区在切换分支或合并代码之前需要清理工作区但又不想丢失当前的更改。 快速切换任务在多个任务之间快速切换而不需要频繁提交和回滚更改。 //保存当前更改到 Stash
git stash//切换到修复问题的分支
git checkout fix-branch//修复问题并提交
git add .
git commit -m Fix urgent issue//切换回原来的分支
git checkout feature-branch//重新应用保存的更改
git stash apply
//将stash放到工作区
git stash pop