Git真香啊

1 版本控制系统

1.1 简介

版本控制系统(VCS)是一种记录一个或多个文件的内容变化,以便将来阅读特定版本的内容变化情况的系统。简单说就是用来保存文件内容变更记录的系统,可以将文件回退到过去某个时间点的状态。比如说你发现代码里有一个小bug,进行修改之后反而变成一个大bug了,这个时候想要回到修改之前的状态就可以通过VCS回到原来的状态。

1.2 作用

  • 查阅文件的修改记录,如:修改者、修改时间、修改内容
  • 对比不同版本中文件的变化细节
  • 将文件回溯到之前的某个状态

1.3 种类

  • 本地版本控制系统:版本库(版本信息)存放在本地磁盘中。
    缺点:由于版本库在本地磁盘中,从而无法进行多人协同开发

  • 集中化版本控制系统:版本库集中存放在中央服务器中,所有参与人员都连接到该服务器,可以实现协同开发。每个人进行版本的更新都要提交到服务器上,想要查看某个版本的内容再从服务器下载。代表应用就是SVN
    缺点:自己电脑上没有版本库,本地无法进行版本管理,必须连接中央服务器才能进行版本控制,如果中央服务器宕机、无法连接网络等等则无法工作

  • 分布式版本控制系统:每个人的电脑上都是一个完整的版本库,在本地就可以进行版本管理,无需连网,但一般都会通过远程仓库来交换版本的修改。在多人协同开发时,只要两个人之间可以连通,那么每个人电脑上的本地仓库可以互相推送版本库的修改。但是这样还是太麻烦了,可以有一个远程仓库,将版本推给远程仓库之后,其他人就可以直接从远程仓库拿出来。简单说就是,可能我当前的环境连不上网,但是我本地有一个版本库,我做的所有修改都会记录下来,等什么时候能连上网了再一次性把这些修改上传到远程仓库即可,有点像前两个的合体。代表应用就是Git

2 Git

2.1 简介

Git是一种开源的分布式版本控制系统,用来进行项目的版本管理。其实就是一个软件,由一组指令组成,能够对项目代码进行版本控制
使用Git首先要安装软件,上官网下载即可 https://git-scm.com/downloads。只有Windows需要手动安装,MacOS和Linux都自带Git

2.2 工作流程

在这里插入图片描述

  1. 适用Git命令将远程仓库上的文件克隆到本地仓库
  2. 从本地仓库中检出文件到工作区workspace(一般都自动完成)
  3. 将新创建的文件添加到暂存区
  4. 将暂存区中的内容提交到本地仓库
  5. 将本地仓库中的内容推送到远程仓库中

2.3 使用方法

右键鼠标会看到一个Git Bash Here, 点击就进入了,在它上面还有一个Git GUI Here是图形化界面,但一般没啥用
在这里插入图片描述
所有命令必须在Git仓库的根目录下执行

  • 初始化配置:定义当前使用者的名称和邮箱。每一个仓库都需要配置一次

git config --global user.name “xxx”
git config --global user.email “yyy”

  • 查看用户名和邮箱

git config --global user.name
git config --global user.mail

  • 初始化本地Git仓库(项目):在哪个文件夹中右键打开Git,就会在当前文件夹中创建一个.git目录,用于记录所有的版本变更信息。如果找不到的话可能是被隐藏了

git init

  • 查看本地仓库的文件状态

git status

  • 将文件添加到跟踪列表(暂存区)交由Git托管, -A 或 -all 或 . 表示添加所有文件

git add 文件路径

  • 将跟踪列表中的文件提交到本地仓库

git commit -m “修改提示”

  • 查看提交日志,按照时间顺序排列,新修改的操作先显示

git log

  • 回退到指定版本,版本号可通过查看日志得到

git reset --hard 版本号

  • 查看所有操作记录,包括被回退的版本id、reset操作。如果要回到回退之前的版本就再次使用reset指令,版本号就是查找的操作记录中的开头

git reflog

2.4 Git文件的状态

  • untracked:未跟踪,表示文件不受Git管理,一般新建的文件处于该状态(Untracked files)
    在这里插入图片描述
  • staged:已暂存,表示已对修改的文件做了标记,使之包含在下次要提交的文件跟踪列表中(Changes to be committed)
    在这里插入图片描述
  • committed:已提交,表示文件已经被提交到本地仓库
    在这里插入图片描述
  • modified:已修改,表示文件内容已被修改,但没做标记
    在这里插入图片描述
    当新建文件后进入untracked状态,然后通过指令进入staged状态,然后再到committed状态。之后对文件进行修改就直接进入modfified状态,然后再重复进入staged状态和committed状态

2.5 忽略文件

可以再Git仓库的根目录下添加一个名为 .gitignore 的文件,用于指定需要被Git忽略的文件或文件夹

创建文件使用指令: touch 文件名
编辑文件使用指令: vi 文件名
其实这些就是Linux的指令,简单学一下就知道了

注意:

  • 文件名必须是 .gitignore
  • 文件必须在项目的根目录下
  • 在文件中每行指定一个忽略文件
  • 在文件中以 # 开头的行表示注释

在这里插入图片描述在这里插入图片描述

2.6 远程仓库

远程仓库是基于Git的代码托管平台

常用的Git仓库有:

  • GitHub:https://github.com/
  • 码云:https://gitee.com/

操作步骤:

  • 注册账号,创建仓库
  • 添加远程仓库的地址

git remote add 仓库别名 地址

  • 将本地仓库的提交记录推送到远程仓库的分支,一般默认只有一个分支master

git push 仓库别名 分支名

  • 拉取远端分支的更新记录到本地,会与本地仓库进行merge合并(更新)

git pull 仓库别名 分支名

指令功能
git remote -v查看远程仓库的信息,fetch抓取、push推送
git remote rm 仓库别名删除远程仓库
git clone 远程仓库地址克隆远程仓库的项目到本地,用于第一次从远程仓库下载整个项目

2.7 分支Branch

分支就是版本上的更新迭代,默认只有master主分支。可以从主分支上分离出其他分支,各分支间互不干扰。比如说,要测试一个新功能,在原有代码上不好操作,就弄出来一个测试分支,测试完毕了再合并回到原来的代码

指令功能
git branch查看分支,哪个分支前有 * ,当前就
git branch 分支名创建分支
git checkout 分支名切换分支

在这里插入图片描述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值