全网最详细的 Git 教学文章

目录

一、引言

二、Git 概述

2.1 什么是 Git

2.2 使用 Git 能做什么

2.3 Git 仓库类型

2.4 Git 基本操作流程

三、Git 下载与安装

3.1 下载地址

3.2 安装步骤

四、Git 代码托管服务

4.1 常用的 Git 代码托管服务

4.2 码云代码托管服务

4.2.1 注册码云账号

4.2.2 登录码云

4.2.3 创建远程仓库

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

五、Git 常用命令

5.1 Git 全局设置

5.2 获取 Git 仓库

5.2.1 在本地初始化 Git 仓库

5.2.2 从远程仓库克隆

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

5.4 Git 工作区中文件的状态

5.5 本地仓库操作

5.5.1 git status

5.5.2 git add

5.5.3 git reset

5.5.4 git commit

5.5.5 git log

5.5.6 案例:切换版本

5.6 远程仓库操作

5.6.1 git remote

5.6.2 git remote add

5.6.3 git clone(已经演示过)

5.6.4 git push

5.6.5 git pull

5.7 分支操作

5.7.1 查看分支

5.7.2 创建分支

5.7.3 切换分支

5.7.4 推送至远程仓库分支

5.7.5 合并分支

六、在 IDEA 中使用 Git

6.1 在 IDEA 中配置 Git

6.2 获取 Git 仓库 - 本地初始化仓库

6.3 Git 忽略文件

6.4 本地仓库操作

6.4.1 将文件加入暂存区

6.4.2 将暂存区文件提交到版本库

6.4.3 查看日志

6.5 远程仓库操作

6.5.1 查看远程仓库

6.5.2 添加远程仓库

6.5.3 推送至远程仓库

6.5.4 从远程仓库拉取

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

6.7 分支操作

七、总结


一、引言

        在软件开发过程中,版本控制是一项至关重要的工作。它能够帮助开发者管理代码的变更、回溯历史版本、实现多人协作等。Git 作为目前最流行的分布式版本控制工具,被广泛应用于各种软件开发项目中。本文将详细介绍 Git 的基本概念、常用命令以及在 IDEA 中的使用方法,帮助你快速掌握 Git 的使用。

二、Git 概述

2.1 什么是 Git

        Git 是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件,如 Java 类、xml 文件、html 页面等。与传统的集中式版本控制工具(如 SVN、CVS、VSS)不同,Git 采用分布式架构,每个开发者的本地电脑上都有一个完整的仓库副本,这使得开发者可以在本地独立进行版本管理,无需依赖网络连接。

2.2 使用 Git 能做什么

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

2.3 Git 仓库类型

Git 仓库分为两种:本地仓库和远程仓库。

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

2.4 Git 基本操作流程

在 Git 中,常见的操作流程包括:

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

三、Git 下载与安装

3.1 下载地址

你可以从官方网站(Redirecting… )下载 Git 的安装包。

3.2 安装步骤

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

  • Git GUI Here:打开 Git 图形界面。
  • Git Bash Here:打开 Git 命令行。

四、Git 代码托管服务

4.1 常用的 Git 代码托管服务

        为了实现多人协作和远程备份,我们需要使用远程仓库。可以借助互联网上提供的一些代码托管服务来搭建远程仓库,比较常用的有 GitHub、码云、GitLab 等。

名称网址说明
GitHubGitHub · Build and ship software on a single, collaborative platform · GitHub一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。
码云Gitee - 基于 Git 的代码托管和研发协作平台国内的一个代码托管平台,由于服务器在国内,所以相比于 GitHub,码云速度会更快。
GitLabThe most-comprehensive AI-powered DevSecOps platform | GitLab一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务。
BitBucketBitbucket | Git solution for teams using Jira一家源代码托管网站,采用 Mercurial 和 Git 作为分布式版本控制系统,同时提供商业计划和免费账户。

4.2 码云代码托管服务

下面以码云为例,介绍如何使用代码托管服务。

4.2.1 注册码云账号

注册网址:注册 - Gitee.com

4.2.2 登录码云

注册完成后,可以使用刚刚注册的邮箱进行登录(地址:登录 - Gitee.com )。

4.2.3 创建远程仓库

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

  1. 点击相应按钮进入新建仓库页面。
  2. 在新建仓库页面中,填写仓库名称(必填,每个仓库都需要有一个名称,同一个码云账号下的仓库名称不能重复)、路径(访问远程仓库时会使用到,一般无需手动指定,和仓库名称自动保持一致)、选择开源或私有(开源表示所有人都可以查看此仓库,私有表示只有此仓库的成员可见,其他人不可见)等信息。
  3. 创建完成后,可以查看仓库信息。每个 Git 远程仓库都会对应一个网络地址,点击【克隆 / 下载】按钮,在弹出窗口点击【复制】按钮即可复制网络地址。
4.2.4 邀请其他用户成为仓库成员

在企业实际开发中,一个项目往往是由多个人共同开发完成的,为了使多个参与者都有权限操作远程仓库,就需要邀请其他项目参与者成为当前仓库的成员。

  1. 点击管理按钮进入仓库管理页面,左侧菜单中可以看到【仓库成员管理】。
  2. 点击【开发者】菜单,跳转到相应页面。
  3. 点击【添加仓库成员】菜单下的【邀请用户】菜单,跳转到邀请用户页面。可以看到邀请用户有多种方式:链接邀请、直接添加、通过仓库邀请成员。
    注意:被邀请用户必须为码云的注册用户,否则无法成为仓库成员。

五、Git 常用命令

5.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 并不是我们在注册码云账号时使用的用户名和邮箱,此处可以任意设置。

5.2 获取 Git 仓库

要使用 Git 对我们的代码进行管理,首先需要获得 Git 仓库。获取 Git 仓库通常有两种方式:

5.2.1 在本地初始化 Git 仓库
  • 介绍:在开发人员本地电脑磁盘任意选择一个目录,通过 git 创建本地的 git 版本仓库。
  • 命令格式
git init

  • 实现步骤
    1. 在任意目录下创建一个空目录(例如 repo1)作为我们的本地 Git 仓库。
    2. 进入 repo1 这个目录里面,点击右键打开 Git bash 窗口。
    3. 执行命令git init。如果在当前目录中看到.git 文件夹(此文件夹为隐藏文件夹)则说明 Git 仓库创建成功。
5.2.2 从远程仓库克隆
  • 介绍:可以通过 Git 提供的命令从远程仓库进行克隆,将远程仓库克隆到本地。
  • 命令格式
git clone 远程仓库地址

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

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

为了更好的学习 Git,我们需要了解 Git 相关的一些概念:

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

5.4 Git 工作区中文件的状态

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

  • untracked:未跟踪(未纳入被 git 管理的,也就是未加入到暂存区的,也可以叫 unstage)。
  • tracked:已跟踪(被 git 纳入管理的),又分为以下几种状态:
    • Unmodified:未修改状态,工作区、暂存区和本地仓库所有数据已达到同步。
    • Modified:已修改状态,之前已经三个区域都达到同步了,但是修改了工作区或者暂存区。
    • Staged:已暂存状态,表示本地仓库都没有这个文件,只有工作区和暂存区有这个文件。

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

5.5 本地仓库操作

本地仓库常用命令如下:

5.5.1 git status

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

git status

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

5.5.2 git add

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

git add hello.txt

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

5.5.3 git reset

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

  • 取消暂存命令格式:git reset 文件名
  • 切换到指定版本:git reset --hard 版本号
git reset hello.txt

注意:每次 Git 提交都会产生新的版本号,通过版本号就可以回到历史版本。

5.5.4 git commit

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

# 重新添加到暂存区
git add hello.txt
# 查看文件状态
git status
# 将暂存区的文件提交到本地版本库
git commit -m "初始化文件 hello.txt" hello.txt

解释说明:

  • -m:代表 message,每次提交时需要设置,会记录到日志中。
  • 可以使用通配符 * 一次提交多个文件。
5.5.5 git log

查看提交日志命令:

git log

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

5.5.6 案例:切换版本
  • 需求:修改文件内容再次提交,之后进行切换版本,并且重置后指定版本后的版本被删除。
  • 实现步骤
    1. 修改文件,添加内容 "第一步",保存文件。
    2. 添加文件到暂存区。
    3. 提交文件到版本库。
    4. 查看版本日志。
    5. 切换到指定版本。

5.6 远程仓库操作

前面执行的命令操作都是针对的本地仓库,下面介绍关于远程仓库的一些操作:

5.6.1 git remote

        如果要查看已经配置的远程仓库服务器,可以执行git remote命令,它会列出每一个远程服务器的简称。如果已经克隆了远程仓库,那么至少应该能看到origin,这是 Git 克隆的仓库服务器的默认名字。

git remote
5.6.2 git remote add

        本地版本库关联添加远程仓库,前提是远程仓库在码云上存在,则本地版本库可以关联添加这个远程仓库,用于以后进行不同操作。

  • 命令格式
git remote add 简称 远程仓库地址

  • 环境准备:在码云上添加远程仓库 “repo1”,复制远程仓库地址。
  • 本地版本库添加远程仓库演示
    1. 切换目录到 repo1 目录下:
cd ../repo1

  1. 查看当前本地版本库关联的远程仓库信息:
git remote

  1. 添加关联远程成功执行命令:
git remote add origin https://gitee.com/songyu0102/repo1.git

注意:一个本地仓库可以关联多个远程仓库,也可以通过命令删除关联的远程仓库,命令如下:

git remote rm 远程仓库简称

如果想修改配置关联的远程仓库,需要先删除,之后再添加即可。

5.6.3 git clone(已经演示过)

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

5.6.4 git push

将本地仓库内容推送到远程仓库,命令格式:git push 远程仓库简称 分支名称

  • 操作步骤
    1. 在 repo1 目录下创建 repo1.txt 文件,添加暂存区,提交到本地版本库。
    2. 推送到远程仓库。
    3. 查看远程仓库是否成功,如果有 repo1.txt 文件说明成功。
  • 第一次推送使用注意:在使用git push命令将本地文件推送至码云远程仓库时,如果是第一次操作,需要进行身份认证,认证通过才可以推送。认证通过后会将用户名和密码保存到 windows 系统中,后续再推送则无需重复输入用户名和密码。
5.6.5 git pull

        git pull命令的作用是从远程仓库获取最新版本并合并到本地仓库。命令格式:git pull 远程仓库简称 分支名称

  • 案例:远程仓库添加内容,本地仓库拉取下来
    • 操作步骤
      1. 在远程仓库 repo1 位置点击 "编辑"。
      2. 在编辑位置输入 “远程仓库添加内容”,填写提交注释,最后点击 “提交”。
      3. 本地版本库拉取远程仓库的最新内容与本地合并。
      4. 查看本地文件 repo1.txt 文件内容。

5.7 分支操作

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

5.7.1 查看分支

查看分支命令:

  • git branch:列出所有本地分支。
  • git branch -r:列出所有远程分支。
  • git branch -a:列出所有本地分支和远程分支。
5.7.2 创建分支

创建分支命令格式:git branch 分支名称

5.7.3 切换分支

        一个仓库中可以有多个分支,切换分支命令格式:git checkout 分支名称
注意:在命令行中会显示出当前所在分支。

5.7.4 推送至远程仓库分支

推送至远程仓库分支命令格式:git push 远程仓库简称 分支命令

  • 案例:在 b1 分支中创建文件并推送至远程仓库的 b1 分支
    • 操作步骤
      1. 在本地 b1 分支创建文件 hello2.txt,添加到暂存区,提交到本地版本库。
      2. 推送本地 b1 至远程仓库分支。
      3. 推送完以后可以查看远程仓库的 b1 分支。
5.7.5 合并分支

合并分支就是将两个分支的文件进行合并处理,命令格式:git merge 分支命令

  • 案例:master 分支合并 b1 分支
    • 操作步骤
      1. 本地 repo1 库切换分支为 master。
      2. master 分支合并 b1 分支。
      3. 查看合并后的目录资源结构,发现包含合并过来的 hello2.txt 文件。
        注意:由于 b1 是在 master 上创建出来的,所以必须由 master 合并 b1,不可以 b1 合并 master。

六、在 IDEA 中使用 Git

        通过 Git 命令可以完成 Git 相关操作,为了简化操作过程,我们可以在 IEDA 中配置 Git,配置好后就可以在 IDEA 中通过图形化的方式来操作 Git。

6.1 在 IDEA 中配置 Git

        在 IDEA 中使用 Git,本质上还是使用的本地安装的 Git 软件,所以需要提前安装好 Git 并在 IDEA 中配置 Git。如果 Git 安装在默认目录中(C:\Program Files\Git),则 IDEA 中无需再手动配置,直接就可以使用。

6.2 获取 Git 仓库 - 本地初始化仓库

        在 IDEA 中获取 Git 仓库有两种方式:本地初始化仓库和从远程仓库克隆。在 IDEA 中通过如下操作可以在本地初始化一个本地仓库,其实底层就是执行的git init命令。操作过程如下:

  1. 依次选择菜单【VCS】---【Import into Version Control】---【Create Git Repository】。
  2. 在弹出的【Create Git Repository】对话框中选择当前项目根目录,点击【OK】按钮。
    操作完成后可以看到当前项目根目录下出现了.git 隐藏目录,并且可以在 IDEA 的工具栏中看到 Git 的相关操作图标。

6.3 Git 忽略文件

为了避免将一些不必要的文件纳入版本控制,我们可以使用.gitignore 文件来忽略这些文件。操作步骤如下:

  1. 安装忽略文件插件,如果卡主,可以换个网络,如手机热点(安装成功后,重启 idea)。
  2. 创建文件.gitignore,弹出框里面勾选 java,选中 add。
  3. 复制以下内容覆盖.gitignore 文件中内容:
# 官方忽略
# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs
hs_err_pid*

# 新增
.classpath
.project
.settings
target

# idea
*.iml
.idea

6.4 本地仓库操作

本地仓库操作:

6.4.1 将文件加入暂存区

        当在 Git 工作区新增文件或者对已有文件修改后,就需要将文件的修改加入暂存区。添加后的效果(红色都变成绿色,说明文件已经成功添加到暂存区)。

6.4.2 将暂存区文件提交到版本库

        将暂存区文件提交到版本库,可以选择一个文件进行提交,也可以选择整个项目提交多个文件。在 IEDA 中对文件的提交进行了简化操作,也就是如果文件修改后,无需再加入暂存区,可以直接提交。由于提交操作属于高频操作,所以为了进一步方便操作,在 IDEA 的工具栏中提供了提交操作的快捷按钮。

6.4.3 查看日志

查看日志,既可以查看整个仓库的提交日志,也可以查看某个文件的提交日志。

6.5 远程仓库操作

远程仓库操作:

6.5.1 查看远程仓库

操作过程如下:在 IDEA 中选择相应菜单,在弹出的【Git Remotes】窗口中可以看到配置的远程仓库。

6.5.2 添加远程仓库

        到码云添加新仓库,复制远程仓库地址。一个本地仓库可以配置多个远程仓库,在【Git Remotes】窗口中点击【+】来添加一个新的远程仓库。

6.5.3 推送至远程仓库

        可以通过相应操作将本地仓库文件推送至远程仓库。在弹出的【Push Commits】窗口中可以看到本次推送的文件,点击【Push】按钮即可推送至远程仓库。点击【Commit and Push...】按钮同时完成提交和推送操作。

6.5.4 从远程仓库拉取

        可以通过相应操作从远程仓库拉取。由于从远程仓库拉取文件属于高频操作,所以在 IDEA 的工具栏中提供了对应的快捷按钮。在弹出的【Update Project】窗口中点击【OK】。

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

在 IDEA 中从远程仓库克隆本质就是执行的git clone命令,具体操作过程如下:

  1. 在 IDEA 开始窗口中点击【Get from Version Control】。
  2. 在弹出的【Get from Version Control】窗口中输入远程仓库的 URL 地址和对应的本地仓库存放目录,点击【Clone】按钮进行仓库克隆操作。

6.7 分支操作

分支操作:

  • 查看分支,本质就是执行git branch命令。
  • 创建分支,本质就是执行git branch 分支名命令。

七、总结

        通过本文的介绍,你已经了解了 Git 的基本概念、常用命令以及在 IDEA 中的使用方法。Git 作为一款强大的版本控制工具,能够帮助你更好地管理代码,提高开发效率。在实际开发中,你可以根据具体需求灵活运用 Git 的各种功能,实现代码的高效管理和团队协作。希望本文对你有所帮助,祝你在使用 Git 的过程中取得良好的效果。

对于全网详细的VSCode教程,以下是一个简短的描述: 全网详细的VSCode教程应该包含以下内容:基本介绍、安装和设置、编辑器布局、常用快捷键、实用插件和扩展、调试功能、版本控制、代码片段等。 在基本介绍部分,应该详细介绍VSCode是什么,它的优点和特点,如何下载和安装等。 安装和设置部分应该涵盖不同操作系统上的安装步骤和注意事项。同时,还应该介绍不同配置选项,如主题、字体、缩进设置等。 编辑器布局部分应该解释各个面板和视图的作用,如侧边栏、编辑窗口、终端等。详细说明如何调整布局以优化工作流程。 常用快捷键部分应该列举常用的快捷键和相关操作,如快速打开文件、搜索、查看定义等。应该对不同功能区分操作系统进行说明。 实用插件和扩展部分应该介绍一些常见和有用的插件,如代码片段、代码格式化、调试器等。应该详细解释如何安装和使用这些插件。 调试功能部分应该详细介绍如何配置和使用调试器,包括设置断点、查看变量的值等。 版本控制部分应该介绍如何使用内置的版本控制工具,如Git,如何提交、推送和拉取代码等。 后,代码片段部分应该教授如何创建和使用代码片段,以提高编码效率。 以上仅是对全网详细的VSCode教程的一些简要描述。当然,真正详细的教程可能比这个更加全面和详细,具体内容可能还包括更多高级功能和技巧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

禹曦a

你的鼓励就是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值