Git版本流程控制基础命令
[TOC]
Git整体架构
整体架构
工作流程
1.基础命令学习
1 | #查看git 版本号 |
2.撤销命令(危险)
1 | #git reset是一个危险的命令,加上--hard也是如此 |
3.本地仓库上传到gitee仓库上
1 | #1.初始化 |
4.gitee仓库上下载项目
1 | #下载仓库的命令 |
5.git分支
1.创建分支
2.切换分支
3.切换到master分支
1.介绍
2.分叉历史
3.手画图
每一个圆圈都是一次提交的版本
第三次提交的时候有别的工作需要或者发现有点提交不好,从新创建分支做新的需求继续工作。
发现第二次提交有bug但是暂时没有报错。创建新分支需要修改提交了几个版本修复bug以后合并到主分支master上
4.查看你的提交历史,各分支的指向以及项目的分叉情况
testing分支有红色箭头向下指到某次提交上就是在那次提交分支出来的
master主分支有星号向下指到某次提交上就是在那次提交分支出来的
5.分支命令
1.创建切换
1 | #创建分支 |
2.合并分支命令(还有一种形式是变基,放到第8个标题)
1 | #要有一个其他分支 |
3.直接剪出分支
1 | #-b直接剪出分支并切换上去 |
6.分支模型
1.远程分支可以同时进行更新
2.把远程的master分支拉取下来,然后本地合并merge
3.可以跟踪远程不同的分支
4.推送
介绍
命令
远程仓库的样子
5.分支模型命令
1 | #从远程仓库克隆一个下来 |
6.分支模型的功能
1.分支权限讲解
2.本地剪出了多个分支上传到远程
1.本地
2.远程
3.本地上传到远程分支
1 | #如果本地剪出了分支远程仓库没有当前分支需要使用的命令 |
4.合并分支
1.命令版
1 | #回到主分支master |
2.网页版
去点击
gitee->Pull Requests->创建Pull Requests
2.查看详情
3.解决冲突
4.测试通过
5.审查通过
6.合并
7.接受Pull Requests(合并成功)
7.git工具-重置
工作流程图解
1.工作流程
2.git init
3.git add
4.git commit
5.修改文件
在提交就变成v2版本
git add
git commit
2.命令
6.重置的作用
1.移动head(指向)
1 | #移动到父提交,就是移动到指向的那次提交,并且撤销那次提交信息,会发现git diff --staged看到暂存区和最后一次提交看到区别 |
2.更新所以(–mixed)
1 | #移动到父提交,就是移动到指向的那次提交,并且撤销那次提交信息,会发现git diff看到本地和暂存区的区别(--mixed可有可无一般加上) |
3.更新工作目录(–hard) 危险
#!注意:危险
1 |
|
8.变基(注意团队协作时候慎用)
注意事项(变基的风险在官网看到的):
呃,角色变的并非完美无缺,它必须遵循规范:
如果提交存在于你的这些仓库之外,而其他人可能基于提交进行开发,那么就不要执行更改基。
否则,人民群众会冤枉你,你的朋友和家人也会欢迎你,唾弃。
改变基操作的实质是丢弃了一些现有的新建地,但如果你已经提交了一些实际不同的内容,而其他人已经提交了一些至仓库。如果你进行了工作,如果此时,如果你git rebase
提交并使用命令工作,那么你的同胞将再次组织他们与你的工作人员一起工作,并与你的工作人员进行合作,将他们与你的工作进行整合。他们修改过的提交,会发生一团糟。
如果你只是不会离开你的电脑提交的执行变基,那就不会有事了。那个你已经开发到仓库的提交上执行了更改的库命令,并因此遗弃了别人所基于的提交,你的大麻烦,因此有一些人鄙视你。
如果你或你的同事在某些情况下要执行此git pull --rebase
命令,请一定通知每个人,这样尽管伤痛,但不能缓和执行。
变基 vs. 合并
至此,你已经在实战中学习了,并打算在实战中学习的时候讨论一下,最终你一定要改变什么后退的方式。 。
从这个角度看,提交历史亵渎,你利用谎言本身就是记录历史的一种说法。如果是由它产生的约定是这样发生的事情。
没有人会出版一本书的第一版,软件维护手册也是需要方便使用的。会使用rebase
及filter-branch
等工具来写故事,怎么方便后来的读者就怎么写。
现在,让我们回到之前的问题上来,到底合并还是变基好?希望你能明白,这并没有一个简单的允许。分别是学习了其中的用处,相信你根据情况已经做出了明智的选择。
总的是,只对广泛使用或使用方便操作的方式进行操作,方便大家的修改执行操作,从没有给你的能力改变到合适的地方,让你可以改变操作的习惯,带来方便,这样可以方便地使用。
变基的基本操作
1.有两个分支
2.分叉的提交历史(用git merge **)
它通过两个最新分支的方法是最容易进行的merge
。它与两个最新的分支(以及最新的命令C3
)C4
的共同(以及最近的三个命令C2
)的结果是同时生成一个新的预告(并提交)。 )。
3.通过合并操作来整合分叉的历史(git rebase **)
你可以在C4
中提取C3
基础的基础和修改,然后在 Git 中,这种操作就习惯rebase
了。至分支上的所有修改都移到分支上,就好像“重新播放”一样。(源分支指的是你所在分支,指定分支就是你要合并到的分支。前面的话的意思是:就是你把源分支修改的部分都移到你指定的分支上去,然后再回到指定分支进行合并)
在这个中,你可以检测出experiment
分支,然后将它变到基master
分支上:
1 | #切换分支 |
git rebase命令之后的方式
官网的介绍:
然后它的原理是先找到这两个分支(当前分支experiment
、改变基操作的目标即为基础并为master
最近的共同祖先)C2
,然后当前分支提交给该祖先的历次,相应的存储临时文件,修改将当前指定的目标明确目标顺序C3
,最后将在另存为临时文件的依序应用之前将其另存为临时文件。
4.将C4
中的修改变基到C3
上(就相当于c4修改的部分移到c3上去)
现在回到master
分支,进行一次快进合并,合并完成后两个分支都指到当前分支。
此时,C4
指向的分支就改变了合并示例,虽然实际上的开发工作是并行的,但似乎发现是历史上没有记录的,他们是直接分叉的。
1 | #切换回master |
后面一部分没写看官网吧
第五个部分对应到 (更有趣的变基例子)