Day 6-1 Git安装相关及基础命令

Git简介


在这里插入图片描述

Git 代码托管服务

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

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

Git常用命令

1.Git全局设置

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

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

  • 设置用户信息
    git config --global user.name “itcast”
    git config --global user.email “hello@itcast.cn”
  • 查看配置信息
    git config --list

注意:上面设置的user.name和user.email并不是我们在注册码云账号时使用的用户名和邮箱,此处可以任意设置。

2.获取Git仓库

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

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

  • 在本地初始化一个Git仓库(不常用)
  • 从远程仓库克隆(常用)
在本地初始化一个Git仓库(不常用)

执行步骤如下:

  1. 在任意目录下创建一个空目录(例如repo1)作为我们的本地Git仓库
  2. 进入这个目录中,点击右键打开Git bash窗口
  3. 执行命令git init

如果在当前目录中看到.git文件夹(此文件夹为隐藏文件夹)则说明Git仓库创建成功
在这里插入图片描述

获取Git 仓库-从远程仓库克隆

可以通过Git提供的命令从远程仓库进行克隆,将远程仓库克隆到本地
命令形式:git clone 【远程Git仓库地址】
在这里插入图片描述

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

为了更好的学习Git,我们需要了解Git相关的一些概念,这些概念在后面的学习中会经常提到

  • 版本库:前面看到的.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等
  • 工作区:包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码
  • 暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方
    在这里插入图片描述

4. Git工作区中文件的状态

Git工作区中的文件存在两种状态:

  • untracked 未跟踪(未被纳入版本控制)
  • tracked 已跟踪(被纳入版本控制)
    1)Unmodified 未修改状态
    2)Modified 已修改状态
    3)Staged 已暂存状态

注意: 这些文件的状态会随着我们执行Git的命令发生变化

5. 本地仓库操作

本地仓库常用命令如下:

  • git status --查看文件状态
  • git add --将文件的修改加入暂存区
  • git reset --将暂存区的文件取消暂存或者是切换到指定版本
  • git commit --将暂存区的文件修改提交到版本库
  • git log --查看日志

git status 命令用于查看文件状态

在这里插入图片描述

git add 命令的作用是将文件的修改加入暂存区

在这里插入图片描述

git reset 命令的作用是将暂存区的文件取消暂存或者是切换到指定版本

在这里插入图片描述

这里的版本号可以通过git log 查询 命令为 git reset --hard 版本号

在这里插入图片描述

git commit 命令的作用是将暂存区的文件修改提交到版本库

在这里插入图片描述

git log 命令的作用是查看日志

在这里插入图片描述

6. 远程仓库操作

1. 查看远程仓库
  • 如果想查看已经配置的远程仓库服务器,可以运行 git remote 命令,它会列出每一个远程服务器的简写。 如果已经克隆了远程仓库,那么至少应该能看到 origin ,这是 Git 克隆的仓库服务器的默认名字。
    在这里插入图片描述
  • 如果执行命令后没有任何显示,说明未关联远程仓库
    在这里插入图片描述
2. 添加远程仓库

添加远程仓库,运行 git remote add < shortname > < url > 添加一个新的远程 Git 仓库,同时指定一个可以引用的简写

在这里插入图片描述

3. 克隆远程仓库到本地

如果你想获得一份已经存在了的 Git 远程仓库的拷贝,这时就要用到 git clone 命令。 Git 克隆的是该 Git 仓库服务器上的几乎所有数据(包括日志信息、历史记录等),而不仅仅是复制工作所需要的文件。
克隆仓库的命令格式是: git clone [url]

在这里插入图片描述

4. 推送到远程仓库

将本地仓库内容推送到远程仓库,可以使用命令:git push [remote-name] [branch-name]
[remote-name] 为远程仓库别名 ,[branch-name] 为分支名称
在这里插入图片描述

5. 从远程仓库拉取

git pull 命令的作用是从远程仓库获取最新版本并合并到本地仓库,命令格式:
git pull [short-name] [branch-name]

在这里插入图片描述

注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal: refusing to merge unrelated histories )

解决此问题可以在git pull命令后加入参数–allow-unrelated-histories,进入vi界面 里面内容其实就是添加合并信息
在这里插入图片描述

7.分支操作

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

  • git branch 查看分支
    • git branch 列出所有本地分支
    • git branch -r 列出所有远程分支
    • git branch -a 列出所有本地分支和远程分支

在这里插入图片描述

  • git branch [name] 创建分支 (绿色且前面有*号代表现在处于哪一分支)

在这里插入图片描述

  • git checkout [name] 切换分支

在这里插入图片描述

  • git push [shortName] [name] 推送至远程仓库分支

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

  • git merge [name] 合并分支(合并前调到主分支 master 合并时会进入vi界面输入合并信息,添加-m直接跳过添加相关信息)
    在这里插入图片描述
解决分支合并冲突问题

我们在将b1,b2合并到master分支中之后,在b1分支修改b1.txt文件,再在master分支修改b1.txt文件,在主分支进行合并时,发现报错
在这里插入图片描述
而且进入b1.txt文件中发现文字已经变了
在这里插入图片描述
我们这里进行手动删除后,然后先add到暂存区,在提交到本地仓库时,添加-i命令进行解决冲突
在这里插入图片描述

8.标签操作

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

下面是mybatis-plus的标签:
在这里插入图片描述
在本节中,我们将学习如下和标签相关的命令:

  • git tag 列出已有的标签

  • git tag [name] 创建标签
    在这里插入图片描述

  • git push [shortName] [name] 将标签推送至远程仓库
    在这里插入图片描述

  • git checkout -b [branch] [name] 检出标签
    在这里插入图片描述

注:检出标签会创建分支并且存储标签内容, 还会自动跳转到该分支

分支是为了开发隔离,而标签是为了版本控制,标签其实相当于照片,永远定格那一瞬间,而分支可以随时改变


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值