ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Git基础

2021-04-11 19:29:26  阅读:134  来源: 互联网

标签:文件 git 提交 基础 控制系统 修改 Git 版本


知识点

什么是版本控制
版本控制软件
git基础
git的安装
git区域和状态
常见的git操作

1.版本控制

文件版本

在我们日常写代码和使用ps的过程中,每次操作(复制,粘贴,重命名)都会更新文件的版本,但是我们不知道文件具体做了哪些修改,如果电脑硬盘故障或不小心删除了,那么文件就很容易丢失,重要的文件丢失就无力回天了,
总结起来就是:
操作麻烦
命名不规范
容易丢失
多人协作困难
这就引出了版本控制软件

2、版本控制软件

概念:版本控制软件是用来记录文件变化的,方便查阅历史修改情况和备份,也叫做版本控制系统

优点:
操作简单:只需要熟悉常见的命令即可
可以记录更改信息:能够完整的记录历史版本的修改日志
方便回溯:可以回溯到指定版本之前
协作方便:现在的多人开发用的都是版本控制的协作工具。

起源:
linus在1991年创建linux,由于是开源的,在02年以前,世界各地的志愿者提交的源代码都是由Linus手动合并
当时linus坚定的反对cvs和svn等版本控制系统,
到了02年以后社区发展壮大,一个人不可能完成这么多工作,linus选择了一个商业版本控制系统BitKeeper,(人道主义免费),
05年之后linux大佬云集,想破解BitKeeper。未遂后收回免费使用权,
本来linus道歉保证管好弟兄们就可以了,
可是大佬都有脾气,linus不低头,用两周事件自己用c写了一个分布式管理系统git一个月替换原有的系统,至此,Git发展起来
免费,开源,分布式管理使得Git迅速成为全球最流行的分布式管理系统。(感叹大佬nb)

版本控制系统分类(三种):

1、分布式版本控制系统:联网运行,多人协作开发,性能优秀,用户体验好【Git】
2.集中化版本控制系统:联网运行,支持多人协作开发,性能差,用户体验不好【SVN】
3.本地版本控制系统:单机本地运行

这三类中目前用到最多的是分布式版本控制系统

三种系统优缺点

1.本地版本控制系统,是最早的版本控制系统,代替手工记录文件,在当时也很nb
缺点:
单机运行,不能联网协同开发
只有一个数据库(即本机数据库),丢失后所有的记录会丢失

2.集中化版本控制系统
重点是在于:服务器和客户端的模式
服务器只保存文件的更新日志
客户端值保存最新的文件版本

缺点就是:
断网后无法提交版本更新。只有联网才能更新
服务器的数据库如果崩溃,所有人无法工作
版本数据库故障后,之前的更新记录就没了。

上面两个都有缺陷肯定你也和我一样想到把两者结合起来不久好了吗,那是肯定的。分布式版本控制系统就相当于两者的结合

3分布式版本控制系统
特点还是基于服务器客户端的运行模式
1,服务器保存文件所有的更新版本,不在只保存更新日志
2.每一个客户端是服务器的完整备份,历史版本都有了
优点:
可以联网多人协作开发
断网后也可以在本地提交新版本,等到联网之后再统一提交
服务器出现问题之后,可以使用任一客户端来进行数据的恢复
缺点:每个客户端所存储的数据相比较于SVN较大,(但是今天电脑存储都挺大,这点可以忽略)

svn就不重点介绍了,有大佬文章写的非常详细

3、git基础

git的概念:

是一个开源的分布式版本控制系统,是目前世界上最先进,最流行的版本控制系统 可以快速高效的处理,从很小到 很大的项目版本管理
项目越大越复杂,协同开发的人越多,就能体现出git的高性能

git特点

1:直接记录快照。而非差异比较
2:近乎所有的操作都是本地执行。

git快照

git快照是在原有的文件版本的基础上重新生成一份新的文件,类似于备份,如果文件没有修改,不重新生成,保留一个连接指向之前存储的文件
优点:
版本切换迅速,每个版本都有完整的文件,而不是根据修改日志去修改原文件
缺点是磁盘空间占用大(可忽略)

git本地操作

git绝大部分的操作都在本地,只需要访问本地文件和资源,这点比较好理解
这就是断网后依旧可以在本地对项目进行管理的原因,只需要在联网之后同步修改记录即可

上面的内容是关于git的基础概述

4、git的安装和创建

这点也有大佬写的比较好,我就直接放链接了
Git下载、安装与环境配置

5、git区域和状态(重点!!)

git中三个区域:

工作区,暂存区,git仓库

git中三种状态

在这里插入图片描述
git工作流程:

1、在工作中修改文件
2,将需要下次提交的更改进行暂存
在这里插入图片描述

git 的基本操作(16个)

下面的操作都是在安装了git环境后执行的。

1、获取帮助手册:
git help

2、git help config 打开gitconfig命令手册

3、git config-h 简单的参数项目帮助手册

4、 在现有目录中初始化仓库:
如果有一个项目没有进行版本控制,想要用git来控制它,需要两个步骤:
1.在项目目录中,通过鼠标右键打开git bash
2.执行git init命令将当前的目录转化为git仓库
git init命令会创建一个名为.git的隐藏目录,这个git目录就是当前项目的git仓库。里面包含了初始必要文件,这些文件是git仓库的必要组成部分、
在这里插入图片描述

5.检查文件的当前状态
git status命令查看文件处于什么状态
在这里插入图片描述

6精简的方式显示文件状态
git status -s
在这里插入图片描述

7.跟踪新文件
git add
跟踪完可以继续使用git status查看情况
新添加到暂存区中的文件前面有绿色的A标记
在这里插入图片描述

8、提交更新
git commit -m “需要显示的消息”
在这里插入图片描述

这里是引用

9、对已经提交的文件修改
在这里插入图片描述

红色的m表示已近修改但是没有放到暂存区

10.暂存已修改的文件
这里是引用

这里是引用

11.提交已暂存的文件
在这里插入图片描述

11、撤销对文件的修改这里是引用

这里是引用

这里是引用

这里是引用

这里是引用

这里是引用

这里是引用

6、总结

初始化git仓库,git init
添加文件到仓库有两步:
1、 git add 添加多个文件
2、git commit 完成

提交文件后继续工作
git status 查看结果
git diff 查看修改的内容

git支持版本回退
git log 查看历史提交
git reflog 查看命令历史
git reset --hard commit_id

场景一:当该乱了工作区某个内容想丢弃工作区的修改,可以直接使用 git checkout --file
场景2.不但改乱 了工作区的文件内容,还添加到暂存区,想丢弃修改,别着急,先使用git reset HEAD file回到场景一。然后按照场景一
如果你已近提交到版本库了,那也不是最糟糕的,可以使用版本回退
(这里就感到大佬的厉害了,两周写的东西这么好)

git rm 用于只删除一个文件,如果一个文件已近被提交到 版本库,不用担心误删,要注意的是只能恢复到文件的最新版本,会丢失最近一次提交后修改的内容

到这里就写完了。和GIT相关的还有github,等下回有时间再写。
末尾放几个大佬的链接。都写的非常详细,我自己写的只是用于学习和巩固知识
Git 常用命令大全

Git使用方法(精心整理,基本够用)

标签:文件,git,提交,基础,控制系统,修改,Git,版本
来源: https://blog.csdn.net/weixin_44865458/article/details/115588473

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有