一、Git概念
1、Git的概念
Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的项目。
2、什么是版本控制?
版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。
3、Git官网:
https://git-scm.com/
4、为什么要使用版本控制?
有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。
就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。
5、版本控制系统的分类:
集中化的版本控制系统:
事分两面,有好有坏。这么做最显而易见的缺点是中央服务器的单点故障。如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。如果数据丢失,不能回滚代码。
分布式的版本控制系统
分布式的版本控制系统在管理项目时存放的不是项目版本与版本之间的差异.它存的是索引(所需磁盘空间很少所以每个客户端都可以放下整个项目的历史记录)
二、Git结构
工作区:项目或者目录(代码的开发)
本地区:自己的磁盘空间存储,不能和其他人进行交互
远程库:服务器存储
三、代码托管中心_本地库和远程库的交互方式
1、代码托管中心是干嘛的呢?
我们已经有了本地库,本地库可以帮我们进行版本控制,为什么还需要代码托管中心呢?
2、托管中心种类:
局域网环境下: 可以搭建 GitLab服务器作为代码托管中心,GitLab可以自己去搭建
外网环境下:可以由GitHub或者Gitee作为代码托管中心,GitHub或者Gitee是现成的托管中心,不用自己去搭建
四、初始化本地仓库
git init
注意事项:.git目录下的本地库相关的子目录和子文件不要删除,不要胡乱修改。
创建用户名和邮箱
五、Git常用命令
提交到暂存区:git add file
将暂存区的内容提交到本地库:git commit -m ‘备注’
(1)不放在本地仓库中的文件,git是不进行管理
(2)即使放在本地仓库的文件,git也不管理,必须通过add,commit命令操作才可以将内容提交到本地库。
status命令
git status看的是工作区和暂存区的状态
a、创建一个文件,然后查看状态:
b、然后将test1.py通过git add命令提交至:暂存区:
c、再将test1.py通过git commit命令提交至:工作区:
d、git status查看状态,工作区没有可以提交的文件了
log命令
git log 可以让我们查看提交的,显示从最近到最远的日志
eg:a、此时对test.py文件进行修改
注意:修改完成后,是对工作区的文件进行了修改,并没有提到本地仓库
b、再次提交
c、查看日志
d、查看提交日志(查看更简洁)
e、git reflog:查看日志更详细
reset命令
reset命令:前进或者后退历史版本
复制:在终端中选中就是复制了
粘贴:右键:paste
a、将工作区的test1.py文件删除
b、本地库还存在
c、如果本地库也要删除,需要再次执行add、commit命令同步到本地库
d、查看状态:没有可以提交的了
e、此时后悔了,想把删除的文件复原
diff命令
对test.py文件内容进行删除操作,此时工作区和本地仓库中的文件内容不一致
默认和最新提交的版本进行比较
如果想和旧的版本进行比较
总结:git diff —>比较工作区中和暂存区中 所有文件的差异
六、分支
1、什么是分支
a、什么是分支:
在版本控制过程中,使用多条线同时推进多个任务。这里面说的多条线,就是多个分支。
通过一张图展示分支:
b、分支的好处:
同时多个分支可以并行开发,互相不耽误,互相不影响,提高开发效率
如果有一个分支功能开发失败,直接删除这个分支就可以了,不会对其他分支产生任何影响。
2、操作分支
查看:git branch -v
创建:git branch dev
创建:git branch dev
切换分支:git checkout dev1
a、创建1个文件demo1.py文件
b、此时dev1分支肯定有demo1.py文件,主分支master没有demo1.py文件
3、冲突问题,如何解决冲突题(重要)
a、在主分支master中将文件test.py新增内容
b、提交到本地库
c、在dev分支上的test.py文件中新增内容
d、提交到本地库
注意:
将dev分支合并到主分支master上,需要先切换到主分支上
也就是说也master为主,将对方的分支合并到master分支上
e、执行git merge dev1 合并分支冲突了
此时处于合并状态,需要修复冲突,其他事情做不了
f、举例:当我创建demo2.py文件,编辑内容提交到本地库时,不允许操作
解决冲突问题:
注意:解决冲突的提交和普通提交不一样,commit命令不能加test.py
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/123223.html