Git 分布式版本控制工具01

简介: 内容- Git概述- Git代码托管服务- Git常用命令- 在IDEA中使用Git

1. 前言

1.1 什么是Git

Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等),在软件开发过程中被广泛使用。

其他的版本控制工具软件:

  • SVN
  • CVS
  • VSS

1.2 使用Git能做什么

  • 代码回溯:Git在管理文件过程中会记录日志,方便回退到历史版本
  • 版本切换:Git存在分支的概念,一个项目可以有多个分支(版本),可以任意切换
  • 多人协作:Git支持多人协作,即一个团队共同开发一个项目,每个团队成员负责一部分代码,通过Git就可以管理和协调
  • 远程备份:Git通过仓库管理文件,在Git中存在远程仓库,如果本地文件丢失还可以从远程仓库获取

2. Git概述

2.1 Git简介

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

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

image.png

解释说明:

commit:提交,将本地文件和版本信息保存到本地仓库

push:推送,将本地仓库文件和版本信息上传到远程仓库

pull:拉取,将远程仓库文件和版本信息下载到本地仓库

2.2 Git下载与安装

下载地址: https://git-scm.com/download

image.png

直接双击完成安装即可(一直下一步),安装完成后可以在任意目录下点击鼠标右键,如果能够看到如下菜单则说明安装成功:

image.png

Git GUI Here:打开Git 图形界面

image.png

Git Bash Here:打开Git 命令行

image.png

注意:上面的账号信息默认是计算机名,所以每个电脑的信息不同,后面会进行设置。

Git安装目录结构如下:

image.png

3. Git代码托管服务

3.1 常用的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作为分布式版本控制系统,同时提供商业计划和免费账户

3.2 码云代码托管服务

码云网址:https://gitee.com/

image.png

使用码云的操作流程如下:

  1. 注册码云账号
  2. 登录码云
  3. 创建远程仓库
  4. 邀请其他用户成为仓库成员

3.2.1 注册码云账号

注册网址: https://gitee.com/signup

image.png

3.2.2 登录码云

注册完成后可以使用刚刚注册的邮箱进行登录(地址: https://gitee.com/login

image.png

3.2.3 创建远程仓库

登录成功后可以创建远程仓库,操作方式如下:

image.png

页面跳转到新建仓库页面:

image.png

解释说明:

仓库名称:必填,每个仓库都需要有一个名称,同一个码云账号下的仓库名称不能重复

路径:访问远程仓库时会使用到,一般无需手动指定,和仓库名称自动保持一致

开源:所有人都可以查看此仓库

私有:只有此仓库的成员可见,其他人不可见

创建完成后可以查看仓库信息:

image.png

注意:每个Git远程仓库都会对应一个网络地址,点击【克隆/下载】按钮,在弹出窗口点击【复制】按钮即可复制网络地址,地址如下:

https://gitee.com/ChuanZhiBoKe/myGitRepo.git

3.2.4 邀请其他用户成为仓库成员

前面已经在码云上创建了自己的远程仓库,目前仓库成员只有自己一个人(身份为管理员)。在企业实际开发中,一个项目往往是由多个人共同开发完成的,为了使多个参与者都有权限操作远程仓库,就需要邀请其他项目参与者成为当前仓库的成员。

点击管理按钮进入仓库管理页面,左侧菜单中可以看到【仓库成员管理】:

image.png

点击【开发者】菜单,跳转到如下页面:

image.png

点击【添加仓库成员】菜单下的【邀请用户】菜单,跳转到如下页面:

image.png

或者

image.png

可以看到邀请用户有多种方式:链接邀请、直接添加、通过仓库邀请成员

注意:被邀请用户必须为码云的注册用户,否则无法成为仓库成员

4. Git常用命令

4.1 Git全局设置

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

设置用户信息

 git config --global user.name "itcast"

 git config --global user.email "hello@itcast.cn"

查看配置信息

 git config --list

image.png

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

4.2 获取Git仓库

要使用Git对我们的代码进行管理,首先需要获得Git仓库。

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

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

4.2.1 在本地初始化Git仓库

介绍

在开发人员本地电脑磁盘任意选择一个目录,通过git创建本地的git版本仓库

命令格式

git init

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

git init

如果在当前目录中看到.git文件夹(此文件夹为隐藏文件夹)则说明Git仓库创建成功

  1. image.png

效果

image.png

4.2.2 从远程仓库克隆

介绍

可以通过Git提供的命令从远程仓库进行克隆,将远程仓库克隆到本地

命令格式

git clone 远程仓库地址

实现步骤说明
  1. 远程仓库点击初始化 readme 文件
  2. 复制远程仓库地址
  3. 回到上层目录,打开Git Bash here
  4. 执行克隆远程仓库的命令,将远程仓库克隆到本地
实现步骤实现
  1. 远程仓库点击初始化 readme 文件
    image.png
    初始化后效果
    image.png
  2. 复制远程仓库地址,操作如下图
    image.png

例如复制到的地址:https://gitee.com/songyu0102/myGitRepro.git

  1. 回到上层目录,打开Git Bash here
    image.png
  2. 执行克隆远程仓库的命令,将远程仓库克隆到本地

git clone https://gitee.com/songyu0102/myGitRepro.git

  1. 执行命令如图
    image.png

        效果

image.png

注意:克隆输入远程仓库账号与密码错误的如下解决方案

错误效果

image.png

解决方案

1.清除用户名与密码

git config --global credential.helper wincred

git credential-manager uninstall

       第二个命令会弹出cmd命令窗口,鼠标点击cmd窗口内部,点击回车键2次


2.设置自动保存(否则每次推送与拉取都要输入账号与密码)

git config --global credential.helper store

注意:如果以上步骤操作完成后,再次输入账号与密码错误,需要重复执行这两个步骤

4.3 工作区、暂存区、版本库

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

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

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

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

image.png

4.4 Git工作区中文件的状态

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

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

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

4.5 本地仓库操作

本地仓库常用命令如下:

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

准备测试文件

image.png

4.5.1 git status

执行命令用于查看文件状态

git status

效果

image-20211117153529481

注意:1.由于工作区中文件状态的不同,执行 git status 命令后的输出也会不同

           2.上面显示未跟踪文件“hello.txt”

4.5.2 git add

执行命令将文件的修改加入暂存区,命令格式:git add fileName

git add hello.txt

效果

image.png

加入暂存区后再执行 git status 命令,可以发现文件的状态已经发生变化。

git status

效果

image.png

4.5.3 git reset

将暂存区的文件取消暂存或者是切换到指定版本

取消暂存命令格式:git reset 文件名

切换到指定版本:git reset –-hard  版本号

git reset hello.txt

效果

image.png

注意:每次Git提交都会产生新的版本号,通过版本号就可以回到历史版本, 后面有演示,这里暂时演示取消暂存

4.5.4 git commit

是将暂存区的文件修改提交到版本库,命令格式:git commit -m msg 文件名

执行如下命令

# 重新添加到暂存区

git add hello.txt

# 查看文件状态

git status

# 将暂存区的文件提交到本地版本库

git commit -m"初始化文件 hello.txt" hello.txt

效果

image.png

解释说明:

-m:代表message,每次提交时需要设置,会记录到日志中

可以使用通配符*一次提交多个文件

4.5.5 git log

查看提交日志命令

git log

效果

image.png

通过git log命令查看日志,可以发现每次提交都会产生一个版本号,提交时设置的message、提交人、邮箱、提交时间等信息都会记录到日志中

4.5.6 案例:切换版本

需求

修改文件内容再次提交,之后进行切换版本,并且重置后指定版本后的版本被删除

实现步骤
  1. 修改文件,添加内容"第一步",保存文件
  2. 添加文件到暂存区
  3. 提交文件到版本库
  4. 查看版本日志
  5. 切换到指定版本
操作演示
  1. 修改文件,添加内容"第一步",保存文件
    image.png
  2. 添加文件到暂存区

git add hello.txt

  1. 提交文件到版本库

git commit -m'添加文件内容:第一步' hello.txt

  1. 效果
    image.png
  2. 查看版本日志

git log

  1. 效果
    image.png
  2. 切换到指定版本, 版本号:     99c81858ed1dba8041e1e9c1f5f3b5d29b6b4495

git reset --hard 99c81858ed1dba8041e1e9c1f5f3b5d29b6b4495

  1. 效果
    image.png
    查看文件内容,已被切换到指定版本
    image.png
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
8天前
|
项目管理 开发工具 git
Python面试题:Git版本控制与协作开发
【4月更文挑战第19天】本文聚焦于Python面试中Git版本控制与协作开发的考察点,涵盖Git基础、协作流程及实战示例。面试者需理解仓库、提交、分支等核心概念,掌握常用命令,熟悉主干开发和GitFlow策略。在协作开发中,要掌握Pull Request工作流,有效处理合并冲突,并善用标签与里程碑。注意避免混淆工作区、忽视代码审查和直接在远程分支上工作等常见错误。通过实例展示了如何在GitFlow策略下合并分支和解决冲突,强调持续学习与实践以提升Git技能。
21 1
|
11天前
|
数据采集 开发工具 git
《Git 简易速速上手小册》第2章:理解版本控制(2024 最新版)
《Git 简易速速上手小册》第2章:理解版本控制(2024 最新版)
29 2
|
22天前
|
数据可视化 开发工具 C#
.NET开源、免费、跨平台的Git可视化管理工具
俗话说得好“工欲善其事,必先利其器”,合理的选择和使用可视化的管理工具可以降低技术入门和使用的门槛。今天大姚给大家分享一款.NET Avalonia开源、免费、跨平台、快速的Git可视化管理工具:SourceGit。
|
28天前
|
开发工具 git 开发者
Git常用命令大全:让你轻松驾驭版本控制
Git命令速查:`git init`新建仓库,`git clone`克隆,`git add`入暂存区,`git commit -m`提交,`git status`查看状态,`git log`查看历史,`git branch`创建分支,`git checkout`切换,`git merge`合并,`git pull`拉取更新,`git push`推送,`git remote -v`查看远程,`git checkout --`撤销本地修改,`git reset HEAD`取消暂存,`git reset --hard`回退版本。掌握这些,提升代码管理效率!
20 0
|
4月前
|
存储 前端开发 开发工具
前端开发中的Git版本控制:构建可靠的协作和代码管理
前端开发中的Git版本控制:构建可靠的协作和代码管理
49 0
|
4天前
|
项目管理 开发工具 git
版本控制与源代码管理:在 Visual Basic 项目中使用 Git
【4月更文挑战第27天】本文介绍了在Visual Basic项目中使用Git进行版本控制和源代码管理的重要性。Git作为一个流行的分布式版本控制系统,具备分布式架构、高效性能和强大分支管理等特点。在项目中,需先安装Git,然后初始化仓库、添加文件和提交更改。常用操作包括查看状态、日志、创建及切换分支和合并分支。团队协作时,借助远程仓库和推送拉取命令实现代码共享。虽然Git有学习曲线,但其优势在于强大的功能、灵活性和社区支持,能提升开发效率和代码质量。通过学习和实践,开发者可充分利用Git优化协作和项目管理。
|
6天前
|
存储 项目管理 开发工具
Git 版本控制:构建高效协作和开发流程的最佳实践
版本控制是软件开发的核心,促进团队协作与项目管理。通过制定明确的分支命名策略,遵循一致的代码提交规范,如指明提交类型和简短描述,增强了历史记录的可读性,可以清晰地组织和理解项目的结构与进展。
12 0
Git 版本控制:构建高效协作和开发流程的最佳实践
|
7天前
|
存储 Linux 开发工具
Git 分布式版本控制系统基本概念和操作命令
Git 分布式版本控制系统基本概念和操作命令
25 0
|
14天前
|
存储 开发工具 git
Git处理版本控制
【4月更文挑战第17天】Git处理版本控制
11 0
|
2月前
|
开发工具 git
Git版本控制工具详解(三)
Git版本控制工具详解
35 0

相关实验场景

更多