简介

本文主要内容:
1.介绍Git的概念
2.详细演示Git环境的配置
3.列出Git的常用命令
4.在一定程度上演示如何在VS Code上使用Git管理GitHub上的仓库
Git官网:https://git-scm.com/
GitHub官网:https://github.com/
VS Code官网:https://code.visualstudio.com/


一.Git的概述


Git 是一个分布式版本控制系统,用于管理项目中的代码变化,特别适合多人协作开发。它的主要功能包括:

  1. 版本控制:Git 可以记录代码的每一次变动,使你可以查看、比较并恢复到之前的任意版本。

  2. 分支和合并:Git 允许创建分支以开发不同的功能或修复问题。分支上的改动可以独立进行,最后再将它们合并到主分支。

  3. 分布式:与传统的版本控制系统不同,Git 是分布式的。每个开发者都有完整的项目历史,可以离线进行代码管理和提交。

  4. 协作开发:Git 很适合团队合作,支持多人并行开发。当开发者提交代码后,可以通过 pull request 合并到主项目中,确保代码的连续性和质量。

1.Git的核心概念

2.Git的常用命令


二.配置Git环境


1.下载Git

网址:https://git-scm.com/downloads


2.安装Git

安装过程有许多步骤,一般来说全部默认即可,一路next直到install结束
但是可以选择一下使用哪个编辑器
下面的图是对安装过程各个步骤的解释
1.可自选路径 2.图中标注了选项的含义 3.这个页面是询问是否希望在Windows的开始菜单,创建一个名为“Git”的文件夹,存放Git的快捷方式

2.1.选择编辑器

4.这里需要选择一个默认编辑器
注意:不是给你下载选的编辑器,只是告诉Git需要文本编辑时默认打开哪个
不论你选择vim还是VS Code作为默认编辑器,都需要自己下载
一般来说Git会内置一个vim编辑器,不过功能很少
我已经下载了VS Code编辑器,之后的演示基本都在VS Code上进行
VS Code编辑器使用Git主要用VS Code打开文件夹,进入资源管理器操作,当然也可终端使用命令

至于Vim编辑器,我没用过并不怎么清楚

2.2.Vim编辑器和VS Code编辑器对比

1. Vim 编辑器:

2.VS Code编辑器:

3.编辑器总结

这是默认的Vim编辑器 我选择使用VS Code编辑器,根据你的需求选择 5. 6.

2.3.SSH介绍

SSH(Secure Shell)是一种用于通过不安全的网络安全登录到远程计算机的协议。它主要用于在两个系统之间建立加密的连接,以便安全地执行命令行、传输文件和进行系统管理等操作。SSH 通过加密技术,保证了传输的数据不被窃听或篡改,通常用于服务器管理和远程开发工作。

SSH 的主要功能:

OpenSSH 是什么?

OpenSSH 是 SSH 协议的一个开源实现,广泛应用于各类操作系统中(特别是类 Unix 系统,如 Linux 和 macOS)。它不仅支持 SSH 协议本身,还包括一些相关的工具,例如:

OpenSSH 是目前最常用的 SSH 实现之一,由于其开源和安全性,它在服务器管理和远程开发中被广泛使用。

在你的 Git 安装过程中,选择使用 OpenSSH 意味着 Git 将使用 SSH 协议来执行安全的远程操作,比如在 Git 仓库中通过 SSH 进行拉取或推送操作。

图中有两个选择:

  1. Use bundled OpenSSH(使用 Git 附带的 OpenSSH):这意味着 Git 会使用 Git 自带的 ssh.exe,也就是你不需要单独安装 SSH 程序,直接使用 Git 包含的版本。

  2. Use external OpenSSH(使用外部的 OpenSSH):这选项意味着你已经在系统中安装了 OpenSSH,Git 将使用系统中已有的 ssh.exe,而不是安装 Git 自己的版本。这个选择适用于你已经有外部的 OpenSSH 安装并且想用系统默认的 SSH 配置。 一般选择默认即可

7.8. 9.10. 11.12. 13. 14. 15..安装完成


3.设置用户签名

Git首次安装必须设置用户签名,否则无法提交代码
鼠标右键点击桌面,打开Open Git Bash Here
没看到就是在更多选项 可以用命令查看版本:

git --version

如果觉得字体小,可以Ctrl+鼠标滚轮放大

git config --global user.name 
git config --global user.email 

(用户名和邮箱任意设置即可,不会去查验邮箱是否真实) 上述操作后,C盘的用户的用户下会生成一个.gitconfig文件,里面有你设置的用户名和邮箱


三.编辑器常用命令


Vim 编辑器常用命令

1. 模式切换

2. 文件操作

3. 移动光标

4. 文本编辑

5. 查找和替换


VS Code 编辑器常用命令

1. 基础命令

2. 导航

3. 编辑

4. 多光标编辑

5. 代码格式化和调试

6. 搜索和替换

总结


四.Git常用命令


1. 基本 Git 操作

1.1. 初始化仓库

1.2. 克隆仓库

1.3. 查看状态

1.4. 添加文件到暂存区

1.5. 提交更改

1.6. 查看提交历史

1.7. 查看差异


2. 分支操作

2.1. 查看分支

2.2. 创建新分支

2.3. 切换分支

2.4. 创建并切换分支

2.5. 合并分支

2.6. 删除分支


3. 远程操作

3.1. 查看远程仓库

3.2. 添加远程仓库

3.3. 推送到远程仓库

3.4. 拉取远程仓库的更改

3.5. 从远程仓库获取更新


4. 撤销更改

4.1. 取消文件暂存

4.2. 撤销文件修改

4.3. 重置到特定提交


5. 标签操作

5.1. 创建标签

5.2. 查看标签

5.3. 推送标签到远程仓库


6. 其他有用命令

6.1. 清理未跟踪的文件

6.2. 查看全局配置

6.3. 设置全局用户名和邮箱


五.Git Bash使用示范


1.初始化本地库

1.1.创建文件,打开Git Bash

1.2.使用命令git init

git init


2.查看本地库状态

使用命令:

git status


3.创建项目

3.1.使用vim创建文件

我还是更喜欢在VS Code中使用Git
后续操作都在VS Code中进行
在VS Code中的终端使用命令与在这里的Git Bash一样
而且VS Code中有对于Git命令的图形化操作


六.VS Code中使用Git


1.安装插件

1.markdownlint 插件

功能介绍

2.Git Graph 插件

功能介绍


2.使用VS Code创建项目

注意:需要先创建一个文件用作Git仓库
VS Code上图形化界面使用Git在源代码管理

快捷键:Ctrl+Shift+G

初始化仓库后源代码管理旁边三个点里面有对应的Git 命令相同的操作

2.1.使用VS Code打开文件夹

2.1.打开终端

快捷键:(反引号一般在键盘左上角,特殊原因这里无法打出)

Crtl+反引号

使用命令初始化仓库:(去源代码管理点击初始化仓库也行)

git init

2.2.新建文件

2.3.提交到暂存区并添加到本地库

方法一(使用终端操作)

1.提交到暂存区

终端输入命令

git add hello.txt # 添加单个文件 
git add .         # 添加当前目录下所有文件

2.添加到本地库

终端输入命令

git commit -m "first commit" hello.txt

注意:这里的first commit是指这个提交的代码的称呼

方法二(使用源代码管理)

快捷键:Ctrl Shitf G
也可在左侧栏点击打开

1.提交到暂存区

2.添加到本地库

注意:提交上面的框框里要输入提交的代码的称呼,不然提交不成功 这些提交可以理解为一个版本,并且会生成一个版本号(哈希值)
你可以使用命令任意更改当前项目是哪一个版本

2.4.修改文件

直接修改对应的文件就行了,修改完再暂存提交

2.5.切换到不同的提交

你每提交一次,都会生成一个哈希值,也可以理解为一个版本对应一个版本号

1.查看哈希值

使用命令:

git reflog #追踪本地HEAD引用的所有变动记录
git log    #查看本地项目的提交历史

两个命令任选一个,这里推荐第一个,它默认只显示哈希值的前7位
使用这种缩写的哈希值已经够了,第二个命令显示完全的哈希值

2.补充介绍分页器

当你在命令行运行 git loggit reflog 时,Git 会进入一种分页器(pager)的显示模式,通常是 less 分页器。这种模式允许你逐页查看长输出内容,如 Git 提交记录 (log)。由于提交记录可能会非常长,分页器可以方便地滚动和查看历史记录。

具体特性: 分页显示:git log 的输出通过分页器按页显示,默认一次显示一个屏幕大小的内容,而不是全部输出到终端。

导航:在 less 分页器中,你可以使用以下键进行导航:

为什么使用分页器? 当输出的信息非常多时,直接输出到命令行会导致信息快速滚动,无法看清或逐一阅读。而 less 允许你控制滚动,按页查看长输出。

常见提示: 如果不想进入分页器,可以在 git log 命令后加上 –oneline 参数,这样每条提交记录只显示一行,通常不会超过终端的可视区域。

git log --oneline

你也可以通过 GIT_PAGER 环境变量或者使用 git log –no-pager 禁用分页器:

git --no-pager log

这种分页器模式非常常见,除了 git log,其他长输出的命令(如 man 命令)也会进入 less 或类似的分页模式。

3.命令: git reset 哈希值

2.6.使用分支

可以选择在终端使用命令创建分支
也可以使用源代码管理里的图形界面 使用的相关命令可见上文

2.7.合并分支

2.7.1.在新建的分支里的文件做出修改并提交

注意:合并时要到你想合并到的那个分支下,而不是在你修改内容的分支下 如图上面搜索栏,点master合并并没有效果

2.7.1.返回需要合并到的分支进行合并

可以使用命令

git checkout 分支名

选择你需要的合并的分支就能完成合并了


七.使用代码托管平台(GitHub)


GitHub官网:https://github.com/

1.创建远程仓库

2.添加文件到远程存储库

注意:在VS Code中的源代码管理中的图形界面拉取或推送需要先添加远程存储库
这需要你登陆你的GitHub账号,点击添加远程存储库,会自动提示你登录
当然克隆不用登陆,接下来我会演示图形界面推送,和终端中用命令拉取
在上图拉取、推送里选择推送,然后选择你的仓库,就能推送成功
在你对项目进行修改后,暂存提交,然后推送,就能更新你的GitHub仓库了
如果你是在源代码管理里提交,会自动弹出一个同步的按钮,就是把你的修改更新到GitHub仓库
如果你选择终端使用命令也可以完成这些操作


3.从远程存储库库克隆文件到本地

注意:克隆文件不需要登陆 先创建一个存储项目的文件,再到仓库中复制Https地址 使用命令克隆

git clone 地址


4.团队内协作

4.1.邀请协作的人

点击add people后,输入你需要邀请的人的用户名,就会生成一个邀请函(网址) 将这个邀请函复制,发给你需要邀请的人
当然被邀请的人GitHub绑定的邮箱会收到一份邀请函,也可确认 然后被邀请的人把你给的邀请函输入到浏览器中,就有一个需要确认的是否加入这个项目

被邀请人同意后,就能直接修改这个仓库,push不再需要权限


5.跨团队协作

5.1.fork项目

就是把别人的仓库复制一份到自己账号下

5.2.做出修改

5.3.发出pull请求

就是让别人合并你修改的部分

5.4.仓库管理者同意pull请求

仓库管理者会看到一个pull request 点击Merge pull request就能成功合并 合并成功后内容做出修改,并且贡献者中会多出你的用户名


八.完结


使用VS Code管理Git项目是非常方便的,喜欢使用命令的话
用VS Code提供的终端也是一样的,本文演示的地方可能一部分是用命令
一部分是图形界面操作,可能看起来较为混乱,目的是想将两者都介绍一下
其实专注于一者就能完成所有Git的操作,当然也可两者结合使用