GIt (一) Git的安装,项目搭建,远程仓库,分支

一、 版本控制

版本控制可以帮助程序员进行代码的追踪、维护、控制等一系列操作。

最权威的资料——Git官网:https://git-scm.com/doc

1.1 集中式版本控制

集中式版本控制(Centralized Version Control Systems, 简称CVCS )的特点:

  • 采用一个集中管理的服务器,保存所有文件的修订版本
  • 问题是:中央服务器不能出现故障
    • 如果服务器宕机,那么谁都无法提交更新,也就无法协同工作。
    • 如果中心数据库发生损坏,没有备份的话,将丢失关键数据
      在这里插入图片描述

1.2 分布式版本控制

Git属于分布式版本控制系统 (Distributed Version Control System, 简称DVCS):

  • 客户端并不只提取最新版本的文件快照, 而是把代码仓库完整地镜像下
    来,包括完整的历史记录;
  • 任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复;
    (因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份)
    在这里插入图片描述

二、 Git的安装及配置

2.1 安装

  • git官网下载:https://git-scm.com/
  • 淘宝镜像下载:http://npm.taobao.org/mirrors/git-for-windows
    在这里插入图片描述

Git安装的几个工具

Git在安装时,也会安装如下几个工具,这几个工具的作用都是为了运行git命令。

  • Git Bash(推荐):就是一个shell,可执行Linux的命令行。GitBash是基于CMD的,在CMD的基础上增添一些新的命令;

  • Git CMD:命令行提示符(CMD)是Windows操作系统上的,Git CMD就是对其的进一步封装,就看做是Window上的CMD;

  • Git GUI:提供了一个图形用户界面来运行git命令

(设置环境变量是为了全局使用,而git可以在任何地方右击选择Git Bash使用,所以配或不配没啥大区别)

常用Linux命令

  1. cd:改变目录
  2. cd.. :回退到上一个目录,直接cd进入默认目录
  3. pwd : 显示当前所在的目录路径
  4. Is :都是列出当前目录中的所有文件
  5. touch :新建一个文件 比如 touch index.js
  6. rm : 删除一个文件 rm index.js
  7. mkdir: 新建一个目录,即新建一个文件夹
  8. rm -r:删除一个文件夹 如 rm -r src 删除src目录
  9. mv :移动文件,mv index.html --将index.js移动到src文件夹,这样写必须保证文件和目标文件夹在同一目录下
  10. reset : 重新初始化终端清屏
  11. clear:清屏
  12. history:查看历史命令
  13. help:帮助
  14. exit:退出
  15. #:注释

2.2 Git的配置

(1) 设置用户名和邮件地址(重要)

每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改;如果使用了 --global 选项,那么该命令只需要运行一次。

  • 设置用户名
    • git config-global user.name 'lxh'
    • git config-global user.email '邮箱地址@qq.com'

(2) 配置别名(可配可不配)

如果不想每次都输入完整的Git命令,可以为某些命令设置一个别名

$git config --global alias.br branch
$git config --global alias.ci commit
$git config --global alias.st status

别名的使用:
在这里插入图片描述

2.2 查看配置

  • 查看系统配置(系统给配置的东西)
    • git config --system --list
  • 查看本地配置(用户自己配置的)
    • git config --global --list
  • 查看配置所有配置(系统配置+本地配置)
    • git config -l
      在这里插入图片描述

三、 Git基本理论

3.1 工作区域

在这里插入图片描述

  • Workspace : 工作区,即平时存放项目代码的地方(项目文件)
  • Stage/Index:暂存(暂缓)区,用于临时存放你的改动,事实上他只是一个文件,保存即将提交到文件列表信息
  • Repository:仓库区(或本地仓库),即安全存放数据的位置,这里面有提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
  • Remote远程仓库,托管代码的服务器(比如Gitee)。

3.2 文件状态

对文件划分不同的状态,以确定这个文件是否已经归于Git仓库的管理

  • 未跟踪(Untracked):并未加入git库中,通过git add 状态变为 Staged
  • 已跟踪:添加到Git仓库管理的文件处于已跟踪状态,已跟踪状态的文件又可细分为以下几个状态
    • Unmodifed:未修改状态;文件已提交到git仓库,且为修改
    • Modified:文件已修改,但并未进行其他操作
    • Statged:暂存状态

在这里插入图片描述

查看文件状态

#查看指定文件状态
git status [filename]
    
#查看所有文件状态
git status

# 查看更简洁的状态信息
git status -s

在这里插入图片描述

简洁信息 ,左侧表示暂存区状态,右侧表示工作区的状态:

在这里插入图片描述

四、Git项目的搭建与操作

可将VSCode的默认终端设置为bash,这样每次打开终端都是bash
在这里插入图片描述

4.1 初始化Git仓库

在创建一个新项目时,需要初始化本地仓库;(很多脚手架在创建项目时都会默认创建一个Git仓库)

$ git init
Initialized empty Git repository in xxxx

git init命令将创建一个名为.git的子目录,含有Git仓库所必须的文件
在这里插入图片描述

4.2 常见的操作

4.2.1 文件添加到暂存区

  • 跟踪新文件(将新文件添加到暂存区)
    • git add 文件名
  • 如果已经跟踪了一个文件,该文件修改之后处于modified状态。也需要重新添加到暂存区
  • 将当前目录的所有文件添加到暂存区(.是当前目录的意思)
    • git add .

4.2.2 文件提交更新

  • git commit将暂存区的所有文件提交到本地仓库中;(建议在提交之前,先用git status检查是否所需文件都在暂存区)
  • 提交信息时,写上参数-m来备注提交信息
    • git commit -m '提交信息'
    • git commot 文件名 -m '提交信息',提交某个单独的文件
  • 添加到暂存区,提交到仓库,两个命令可以用一行来代替
    • git commit -a -m '提交信息'
    • 等价于git add .+git commit -m '提交信息'

4.2.3 查看历史提交记录

git log查看历史提交记录,在不传入任何参数的默认情况下,git log会按时间先后顺序列出所有的提交,最近的更新排在最上面。

在这里插入图片描述

# 简单打印历史记录
git log --pretty=oneline 

# 以图的方式打印历史记录
git log --pretty=oneline --graph

在这里插入图片描述

前边黄色的一大长串的字符是校验和,每次提交生成的校验和是不一样的,也被称做commit ID,用来标识每次的提交。

4.2.4 版本回退

Git通过HEAD指针记录当前版本,HEAD总是指向该分支上的最后一次提交。我们可以通过HEAD来改变Git目前的版本指向;

在这里插入图片描述

  • 通过HEAD改变Git版本的方式
git reset --hard HEAD^     //  回退到上一个版本
git reset --hard HEAD~1000 //  回退到上1000个版本
git reset 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值