1、Git概述

Git简介

Git是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通过Git仓库来存储和管理这些文件,Git仓库分为两种:

  • 本地厂库:开发人员自己电脑上的Git仓库
  • 远程仓库:远程服务器上的Git仓库

在这里插入图片描述

commit: 提交,将本地文件和版本信息保存到本地仓库
push: 推送,将本地仓库文件和版本信息上传到远程仓库
pull: 拉取,将远程仓库文件版本信息下载到本地仓库

Git下载与安装

  • 官网下载
  • 镜像下载
    在这里插入图片描述
  • 开始安装
    1. 这里选择安装的位置
      在这里插入图片描述
    2. 然后剩下的步骤全部默认下一步即可
      在这里插入图片描述
  • 安装完成后再任意目录点击鼠标右键,如果能看到如下菜单则表示安装成功
    • Git Gui Here:打开Git图形界面
    • Git Bash Here:打开Git命令行
      在这里插入图片描述

2、Git代码托管服务

常用的Git代码托管服务

Git中存在两种类型的仓库,即本地仓库远程仓库。那么我们如何搭建Git远程仓库呢?
我们可以借助互联网上的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等

  • GitHub:是一个面向开源及私有软件项目托管平台,因为只支持Git作为唯一的版本格式进行托管,故名GitHub
  • 码云:是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快
  • GitLab:是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务
  • BitBucket:是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账号

使用码云托管服务

  • 使用码云的操作流程如下:
    1. 注册码云账号
      在这里插入图片描述

    2. 登录码云
      在这里插入图片描述

    3. 创建远程仓库
      在这里插入图片描述
      在这里插入图片描述

    4. 邀请其他用户成为仓库成员
      在这里插入图片描述

3、Git常用命令

Git全局设置

当安装Git后首先要做的事情就是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息。

在Git命令行中执行下面命令:

  • 设置用户信息(user.name和user.email并不是我们在码云注册账号使用的用户名和邮箱,此处可以任意设置):

    • git config --global user.name “xiaowu”
    • git config --global user.email “hello@xiaowu.cn”
  • 查看配置信息

    • git config --list

    在这里插入图片描述

获取Git仓库

要使用Git对我们的代码进行版本控制,首先需要获得Git仓库

获取Git仓库通常有两种方式:

  • 在本地初始化一个Git仓库

    1. 在任意目录下创建一个空目录作为我们的本地Git仓库
    2. 进入这个目录中,点击右键打开Git bash窗口
    3. 执行命令 git init
      在这里插入图片描述
      在这里插入图片描述
  • 从远程仓库克隆

    1. 在任意目录下创建一个空目录作为我们的本地Git仓库
    2. 进入这个目录中,点击右键打开Git bash窗口
    3. 执行命令 git clone 远程Git仓库地址
      在这里插入图片描述
      在这里插入图片描述

工作区、暂存区、版本库概念

版本库: 前面看到的.git隐藏文件夹就是版本库,版本库中存储了很多配置信息,日志信息和文件版本信息等

工作区: 包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码

  • 工作区中的文件存在两种状态:
    • untracked:未跟踪(未被纳入版本控制)
    • trackeed:已跟踪(被纳入版本控制)
      1. Unmodified:未修改状态
      2. Modified:已修改状态
      3. Staged:已暂存状态

暂存区: .git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方

本地仓库常用命令

  • git status —— 查看文件状态
    在这里插入图片描述

  • git add —— 将文件的修改加入暂存区
    在这里插入图片描述

  • git reset —— 将暂存区的文件取消暂存或者是切换到指定版本
    在这里插入图片描述
    在这里插入图片描述

  • git commit —— 将暂存区的文件修改提交到版本库
    在这里插入图片描述

  • git log —— 查看日志
    在这里插入图片描述

远程仓库操作命令

  • git remote —— 查看远程仓库
    在这里插入图片描述

  • git remote add 远程仓库别名 —— 添加远程仓库
    在这里插入图片描述

  • git clone 远程地址 —— 从远程仓库克隆

  • git pull 远程仓库别名 分支 —— 从远程仓库拉取
    在这里插入图片描述

    • 如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件时需要在git pull 命令后面加入参数 --allow-unrelated-histories
      在这里插入图片描述
  • git push —— 推送远程仓库
    在这里插入图片描述

分支操作

分支是Git使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。
同意仓库可以用多个分支,各个分支相互独立,互不干扰。
通过git init 命令创建本地厂库时默认会创建一个master分支

  • 查看分支

    • git branch —— 查看所有本地分支在这里插入图片描述
    • git branch -r —— 查看所有远程分支
      在这里插入图片描述
    • git branch -a —— 查看所有本地分支和所有远程分支
      在这里插入图片描述
  • git branch 分支名称 —— 创建分支
    在这里插入图片描述

  • git checkout 分支名称 —— 切换分支
    在这里插入图片描述

  • git push 远程仓库别名 分支名称 —— 推送至远程仓库分支
    在这里插入图片描述

  • git merge 分支名称 —— 分支合并

    • 如果合并冲突在手动修改完文件以后提交的远程仓库在末尾加上 -i
      在这里插入图片描述

标签操作

Git中的标签,指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。比较有代表性的是人们会使用这个功能来标记发布节点(v1.0、v1.2等)。

  • git tag —— 列出已有的标签
    在这里插入图片描述

  • git tag 标签名 —— 创建标签
    在这里插入图片描述

  • git push 远程仓库别名 标签名 —— 将标签推送至远程仓库
    在这里插入图片描述

  • git checkout -b 分支名 标签名 —— 检出标签
    在这里插入图片描述

4、在IDEA中使用Git

在IDEA中配置Git

在IDEA中使用Git,本质上还是使用本地安装的Git软件,所以需要再IDEA中配置Git
在这里插入图片描述

获取Git仓库

在IDEA中使用Git获取仓库有两种方式:

  • 本地初始化仓库
    在这里插入图片描述
    在这里插入图片描述

  • 从远程仓库克隆

    • 方式一:打开项目连接远程仓库
      在这里插入图片描述
      在这里插入图片描述
    • 方式二:项目未打开连接远程仓库
      在这里插入图片描述
      在这里插入图片描述

本地仓库操作

  • 将文件加入暂存区

    • 方式一:创建文件的时候加入暂存区
      在这里插入图片描述
    • 方式二:文件创建完成后加入暂存区
      在这里插入图片描述
  • 将暂存区的文件提交到版本库
    在这里插入图片描述
    在这里插入图片描述

  • 查看日志
    在这里插入图片描述

远程仓库操作

  • 查看远程仓库
    在这里插入图片描述
    在这里插入图片描述
  • 添加远程仓库
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 推送至远程仓库
    在这里插入图片描述
  • 拉取文件
    在这里插入图片描述

分支操作

  • 查看分支
    在这里插入图片描述
    在这里插入图片描述
  • 创建分支
    在这里插入图片描述
  • 切换分支
    在这里插入图片描述
  • 将分支推送至远程
    在这里插入图片描述
  • 合并分支
    在这里插入图片描述
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐