Git安装+认识+简单使用

本文详细介绍了Git的分布式版本控制特点,如直接记录快照而非差异比较,以及其安装过程、工作原理和工作流程。重点讲解了git命令,包括创建版本库、添加和提交文件、删除文件、版本回退等操作。
摘要由CSDN通过智能技术生成

一、Git特点

1.Git是目前世界上最先进的的分布式版本控制系统

集中式版本控制系统:文件版本都放在服务器上,服务器故障可能造成客户端在服务器故障的时间内无法提交文件。如果服务器修复不好,数据会丢失。

分布式版本控制系统:把服务器上的代码仓库完整地镜像下来。如果服务器发生故障,可以利用客户端的数据进行数据恢复。每一次的提取操作,实际上都是一次对代码仓库的完整备份。

2.直接记录快照,而非差异比较

其它版本控制系统,关注文件内容的变化。记录那些文件做了更新,更新了那些内容。

Git 更像是把变化的文件作快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照的索引。为提高性能,若文件没有变化,Git 不会再次保存,而只对上次保存的快照作一链接。



3.无需联网操作

git绝大多数操作只需要访问本地文件和资源。

4.只对文本数据类型有效(图片无效)

图片版本控制只能知道图片大小的变化

二、安装

Git支持Linux、Windows和Mac系统,Git官网下载安装包。

选择非中文,无空格路径

为了支持Linux文本编辑,选择VIM

逐个点击next-install完成安装

三、工作原理流程

1.概念

远程仓库:远程机器的代码库,用于做不同版本库文件交换更新。比如Gitlab Github Gitee。

本地库:用户在本地创建的目录,拥有远程库的一个快照。包括下面:

  • 工作区:本地库的根目录中除.git目录以外的内容,存储内容的实际文件。
  • 暂存区:暂存信息存放在.git目录"下的index文件(.git/index)中,用于临时保存内容的修改;
  • 版本库:是本地库的根目录中的一个隐藏目录.git,用于记录版本信息,Git进行版本控制所需要的文件,则都放在.git文件夹中;

分支:相当于将原来的代码锁定,创建一个副本编辑,如果确定修改就把副本合并到原来的,保存修改。

本地库中默认创建一个主(master)分支,分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。

2.工作流程

克隆远程库--在本地库上修改代码(默认创建了分支)--提交到分支--把修改合并到本地主分支--把远程库合并到本地主分支--把本地主分支提交到远程库

四、git命令

1.创建版本库

文件夹 下右键点击gitbash here

pwd显示当前路径

 git init 把这个目录变成git可以管理的仓库(自动创建分支master,已经指针HEAD)

.git的目录是Git来跟踪管理版本的不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了

2.添加文件和修改提交文件

vim test.txt

创建文件test.txt, 此刻文件在工作区

通过git status可以查看文件追踪的情况

使用命令 git add test.txt添加到暂存区里面去。(注:git add .将所有的工作区文件上传到缓存区;add后跟多个参数上传多个文件。

git rm --cached test.txt 从暂存区撤回到工作区

git commit -m 'first commit'

提交错误,因为.git下的config配置文件,没有配置操作人名字和邮箱

git的配置问题

git配置信息用于标明当前做的修改是谁做的。

git的配置信息有三个级别:仓库级别、用户级别、系统级别

  • 优先级:仓库级别>用户级别>系统级别
  • 仓库级别:位于当前git工作区的.git/config文件中
  • 用户级别:位于C盘用户目录下的.gitconfig中
  • 系统级别:位于git安装目录下的etc/,gitconfig文件中

例子:当公司中不同时间段,不同的人使用同一个电脑做同一个项目时,用仓库级别配置。

 当公司中一个人参与多个项目时,用用户级别配置。


如果没有配置信息提交会失败:

设置配置信息:

git config --global user.name 姓名
git config --global user.email 邮箱

添加到暂存区,再次提交,成功

修改文件,在文件中加入一行。查看git的状态(新的版本已经进入暂存区并且用modified标记这是修改过的文件

提交修改后的文件

通过checkout上一个版本的文件来覆盖修改后的文件

3.版本回退(三种方式)

git reset --hard HEAD^

git reset --hard HEAD~1

git reset --hard sha-1值

查看日志

git log

版本回退上一个版本

git reset --hard HEAD^

版本回退上一个版本

git reset --hard HEAD^^

指定回退前几版本

git reset --hard HEAD~100

回退&撤销

注意:版本1->版本2—>回退到版本1。回退后使用git log命令就查找不到版本2的sha-1值了。要用git reflog查看历史进行过的操作。

git reflog 

git reset --hard sha-1值

添加并且提交了多个文件

4.删除文件

git rm test2.txt

我们发现删除的文件直接进入暂存区(此刻需要注意,这只是假删除,还要提交一下。如果进入暂存区可以退回工作区,使用下面命令 git reset  hard test2.txt

  • 21
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值