【Git开发教程 一】

简介: 【Git开发教程 一】
上篇文章对Git的一些基本概念进行了介绍,包括Git的发展史、协同开发的流程等等,本篇文章将对Git的一些基本指令做一个讲解。

<br/>

本地库初始化

假设我现在要开发一个项目,首先得在本地进行开发,我在桌面创建了一个Crawler文件夹,然后进入到文件夹,右击鼠标,打开Git Bash:
在这里插入图片描述
文件夹没有任何内容,此时我们在终端里输入一条指令:

git init

运行结果:
在这里插入图片描述
意思是在该目录下创建了一个空的Git仓库,需要注意的是.git目录中存放的是本地库相关的子目录和文件,不要删除,也不要进行修改,默认是隐藏的。

<br/>

设置Git签名

Git为了区分不同开发人员的身份,需要开发人员提供自己的唯一标识,即:用户名和邮箱。

Git签名分为两种情况:

  1. 项目级别签名
  2. 系统级别签名

项目级别签名,顾名思义,其签名仅在当前本地库范围内有效;
系统级别签名在当前操作系统的当前用户范围内均有效,即:该用户创建的仓库都可使用该签名。

它们之间的优先级遵循就近原则:
项目级别签名优于系统级别签名,二者如果都设置了就采用项目级别签名;
如果只设置了某个级别的签名,那就采用该签名;
Git规定必须设置一个某级别的签名,不允许两者都不设置。

下面看指令,对于项目级别签名,设置指令如下:

git config user.name 用户名
git config user.email 邮箱

对于系统级别签名,设置指令有些许不同:

git config --global user.name 用户名
git config --global user.email 邮箱

注意这里的用户名和签名可以随意设置,你甚至可以设置一个不存在的邮箱,它仅仅是作为一个标识。

这里我先设置一下项目级别签名,输入如下指令:

git config user.name blizzawang
git config user.email blizzawang@163.com

设置完后,我们找到.git目录下的config文件:
在这里插入图片描述
打开该文件:
在这里插入图片描述
这就是刚刚我们设置的签名,所以我们千万不要去动.git目录下的东西。

我们再来设置系统级别签名,输入如下指令:

git config --global user.name blizzawang_glb
git config --global user.email blizzawang_glb@163.com

设置完成后,它同样有地方保存,只不过这次不是保存在项目中了,而是保存在用户目录下:
在这里插入图片描述
打开该文件:
在这里插入图片描述
这就是我们刚刚设置的系统签名。

<br/>

添加、查看状态、提交操作

下面来介绍一些具体的操作指令,通常添加、查看状态、提交操作是我们开发过程中使用较为频繁的三大操作。

我先执行以下查看状态指令:

git status

运行结果:
在这里插入图片描述

  • On branch master:表示我们目前处在master分支上,关于分支的概念后面会详细介绍
  • No commits yet:没有任何的提交,表示本地库中没有任何的提交
  • nothing to commit:没有什么可提交,表示暂存区没有什么可提交的东西

说到这里,就需要介绍一下Git的三大分区:

  1. 工作区:该区即是工作的区域,直接编辑的文件会放在工作区
  2. 暂存区:暂存区是数据暂时存放的地方,暂存区提供了开发者一个反悔的机会,倘若添加了错误的内容,就可以通过一些手段还原
  3. 版本区:隐藏目录.git就是版本区,版本区中存放了很多东西, 其中的index文件即为暂存区

下面我在工作区创建一个test.txt文件:
在这里插入图片描述
再次执行查看状态操作:

git status

运行结果:
在这里插入图片描述
因为我们只是创建了文件,还没有进行任何操作,所以目前仍然处于master分支;本地库中仍然没有任何的提交。

但要注意下面的内容了:

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        test.txt

nothing added to commit but untracked files present (use "git add" to track)

这里的意思是并没有提交任何东西但是发现了一个未追踪的文件,这个文件就是刚才创建的test.txt。

既然未追踪,那么我们就通过指令追踪到该文件:

git add test.txt

追踪完成后,我们再次执行查看状态操作:

git status

运行结果:
在这里插入图片描述
目前本地库仍然没有任何提交,但是下面有一个新的文件改变可以被提交,还有一段提示:

(use "git rm --cached <file>..." to unstage)

这里提示我们可以使用该指令进行撤回,即:我们通过git add 指令追踪到文件,也就是将文件放入了暂存区,这时候,我要想反悔,我就可以通过该指令将刚才放入暂存区的文件撤回来,执行指令:

 git rm --cached test.txt

撤回后,我们重新查看一下状态:
在这里插入图片描述
下面我们重新将test.txt文件放入到暂存区,执行指令:

git add test.txt

添加到暂存区后,我们就可以提交了,执行如下指令将暂存区的内容提交到本地库:

git commit test.txt

执行该指令后终端切换到了如下界面:
在这里插入图片描述
这里是需要你输入对这次提交的一个描述,可以写这次提交做了些什么,实现了哪些功能,利于后期维护。

在进行Git安装的时候,我们就设置了Git终端默认使用的编辑器为Vim,所以这里肯定就是Vim编辑器了,我们按i键进入编辑模式,然后在第一行输入这次提交的描述:
在这里插入图片描述
i键后左下角会显示--插入--,此时就可以开始编辑了。

编辑完成后,按esc键退出编辑模式,然后按组合键Shift + :,此时输入指令:wq,保存并退出,这次提交就完成了。
在这里插入图片描述
这里面也有一些信息,后面再具体解释。

此时我们再次查看状态:
在这里插入图片描述
此时表示暂存区是干净的,没有什么可提交的,工作区也没有任何状态的修改。

这样就走了一遍从添加、查看状态到提交的过程:先是通过git add指令将工作区的内容添加到暂存区,然后通过git commit指令将暂存区的内容提交到版本区。

我们继续看一个场景,刚才创建的是一个空文件,下面我们在该文件中添加一点文字内容:
在这里插入图片描述
此时我们再次查看状态:
在这里插入图片描述
此时表示发现了一个没有添加到暂存区的修改,看最后一行提示:

no changes added to commit (use "git add" and/or "git commit -a")

意思是说你可以先执行git add指令,再执行git commit指令进行提交,你也可以直接执行git commit指令进行提交,因为这个文件在前面其实已经被追踪了。

这里我直接使用git commit指令进行提交,同样要添加这次提交的描述,但是每次都要进入Vim编辑器添加描述未免过于麻烦,其实Git提供了更加优雅的提交方案,执行如下指令:

git commit -m "第二次提交 修改了test.txt的文件内容" test.txt

提交结果:
在这里插入图片描述
结果表示一个文件被修改,1行内容被添加。

<br/>

上篇文章对Git的一些基本概念进行了介绍,包括Git的发展史、协同开发的流程等等,本篇文章将对Git的一些基本指令做一个讲解。

本地库初始化

假设我现在要开发一个项目,首先得在本地进行开发,我在桌面创建了一个Crawler文件夹,然后进入到文件夹,右击鼠标,打开Git Bash:
在这里插入图片描述
文件夹没有任何内容,此时我们在终端里输入一条指令:

git init

运行结果:
在这里插入图片描述
意思是在该目录下创建了一个空的Git仓库,需要注意的是.git目录中存放的是本地库相关的子目录和文件,不要删除,也不要进行修改,默认是隐藏的。

<br/>

设置Git签名

Git为了区分不同开发人员的身份,需要开发人员提供自己的唯一标识,即:用户名和邮箱。

Git签名分为两种情况:

  1. 项目级别签名
  2. 系统级别签名

项目级别签名,顾名思义,其签名仅在当前本地库范围内有效;
系统级别签名在当前操作系统的当前用户范围内均有效,即:该用户创建的仓库都可使用该签名。

它们之间的优先级遵循就近原则:
项目级别签名优于系统级别签名,二者如果都设置了就采用项目级别签名;
如果只设置了某个级别的签名,那就采用该签名;
Git规定必须设置一个某级别的签名,不允许两者都不设置。

下面看指令,对于项目级别签名,设置指令如下:

git config user.name 用户名
git config user.email 邮箱

对于系统级别签名,设置指令有些许不同:

git config --global user.name 用户名
git config --global user.email 邮箱

注意这里的用户名和签名可以随意设置,你甚至可以设置一个不存在的邮箱,它仅仅是作为一个标识。

这里我先设置一下项目级别签名,输入如下指令:

git config user.name blizzawang
git config user.email blizzawang@163.com

设置完后,我们找到.git目录下的config文件:
在这里插入图片描述
打开该文件:
在这里插入图片描述
这就是刚刚我们设置的签名,所以我们千万不要去动.git目录下的东西。

我们再来设置系统级别签名,输入如下指令:

git config --global user.name blizzawang_glb
git config --global user.email blizzawang_glb@163.com

设置完成后,它同样有地方保存,只不过这次不是保存在项目中了,而是保存在用户目录下:
在这里插入图片描述
打开该文件:
在这里插入图片描述
这就是我们刚刚设置的系统签名。

<br/>

添加、查看状态、提交操作

下面来介绍一些具体的操作指令,通常添加、查看状态、提交操作是我们开发过程中使用较为频繁的三大操作。

我先执行以下查看状态指令:

git status

运行结果:
在这里插入图片描述

  • On branch master:表示我们目前处在master分支上,关于分支的概念后面会详细介绍
  • No commits yet:没有任何的提交,表示本地库中没有任何的提交
  • nothing to commit:没有什么可提交,表示暂存区没有什么可提交的东西

说到这里,就需要介绍一下Git的三大分区:

  1. 工作区:该区即是工作的区域,直接编辑的文件会放在工作区
  2. 暂存区:暂存区是数据暂时存放的地方,暂存区提供了开发者一个反悔的机会,倘若添加了错误的内容,就可以通过一些手段还原
  3. 版本区:隐藏目录.git就是版本区,版本区中存放了很多东西, 其中的index文件即为暂存区

下面我在工作区创建一个test.txt文件:
在这里插入图片描述
再次执行查看状态操作:

git status

运行结果:
在这里插入图片描述
因为我们只是创建了文件,还没有进行任何操作,所以目前仍然处于master分支;本地库中仍然没有任何的提交。

但要注意下面的内容了:

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        test.txt

nothing added to commit but untracked files present (use "git add" to track)

这里的意思是并没有提交任何东西但是发现了一个未追踪的文件,这个文件就是刚才创建的test.txt。

既然未追踪,那么我们就通过指令追踪到该文件:

git add test.txt

追踪完成后,我们再次执行查看状态操作:

git status

运行结果:
在这里插入图片描述
目前本地库仍然没有任何提交,但是下面有一个新的文件改变可以被提交,还有一段提示:

(use "git rm --cached <file>..." to unstage)

这里提示我们可以使用该指令进行撤回,即:我们通过git add 指令追踪到文件,也就是将文件放入了暂存区,这时候,我要想反悔,我就可以通过该指令将刚才放入暂存区的文件撤回来,执行指令:

 git rm --cached test.txt

撤回后,我们重新查看一下状态:
在这里插入图片描述
下面我们重新将test.txt文件放入到暂存区,执行指令:

git add test.txt

添加到暂存区后,我们就可以提交了,执行如下指令将暂存区的内容提交到本地库:

git commit test.txt

执行该指令后终端切换到了如下界面:
在这里插入图片描述
这里是需要你输入对这次提交的一个描述,可以写这次提交做了些什么,实现了哪些功能,利于后期维护。

在进行Git安装的时候,我们就设置了Git终端默认使用的编辑器为Vim,所以这里肯定就是Vim编辑器了,我们按i键进入编辑模式,然后在第一行输入这次提交的描述:
在这里插入图片描述
i键后左下角会显示--插入--,此时就可以开始编辑了。

编辑完成后,按esc键退出编辑模式,然后按组合键Shift + :,此时输入指令:wq,保存并退出,这次提交就完成了。
在这里插入图片描述
这里面也有一些信息,后面再具体解释。

此时我们再次查看状态:
在这里插入图片描述
此时表示暂存区是干净的,没有什么可提交的,工作区也没有任何状态的修改。

这样就走了一遍从添加、查看状态到提交的过程:先是通过git add指令将工作区的内容添加到暂存区,然后通过git commit指令将暂存区的内容提交到版本区。

我们继续看一个场景,刚才创建的是一个空文件,下面我们在该文件中添加一点文字内容:
在这里插入图片描述
此时我们再次查看状态:
在这里插入图片描述
此时表示发现了一个没有添加到暂存区的修改,看最后一行提示:

no changes added to commit (use "git add" and/or "git commit -a")

意思是说你可以先执行git add指令,再执行git commit指令进行提交,你也可以直接执行git commit指令进行提交,因为这个文件在前面其实已经被追踪了。

这里我直接使用git commit指令进行提交,同样要添加这次提交的描述,但是每次都要进入Vim编辑器添加描述未免过于麻烦,其实Git提供了更加优雅的提交方案,执行如下指令:

git commit -m "第二次提交 修改了test.txt的文件内容" test.txt

提交结果:
在这里插入图片描述
结果表示一个文件被修改,1行内容被添加。

<br/>

尾语

✍ 用 Code 谱写世界,让生活更有趣。❤️

✍ 万水千山总是情,点赞再走行不行。❤️

✍ 码字不易,还望各位大侠多多支持。❤️

相关文章
|
7月前
|
项目管理 开发工具 git
Python面试题:Git版本控制与协作开发
【4月更文挑战第19天】本文聚焦于Python面试中Git版本控制与协作开发的考察点,涵盖Git基础、协作流程及实战示例。面试者需理解仓库、提交、分支等核心概念,掌握常用命令,熟悉主干开发和GitFlow策略。在协作开发中,要掌握Pull Request工作流,有效处理合并冲突,并善用标签与里程碑。注意避免混淆工作区、忽视代码审查和直接在远程分支上工作等常见错误。通过实例展示了如何在GitFlow策略下合并分支和解决冲突,强调持续学习与实践以提升Git技能。
70 1
|
7月前
|
开发工具 git
Git教程:深入了解删除分支的命令
【4月更文挑战第3天】
1274 0
Git教程:深入了解删除分支的命令
|
1月前
|
存储 开发工具 git
git工具使用教程全讲解
本文介绍了版本控制的概念及其重要性,详细对比了多种版本控制工具,如VSS、CVS、SVN和Git,重点讲解了Git的基本使用方法、工作原理及与SVN的区别。此外,文章还介绍了GitHub、GitLab和Gitee等流行的代码托管平台,以及如何在这些平台上注册账号、创建和管理仓库。最后,文章还提供了如何在IntelliJ IDEA中配置和使用Git的具体步骤。
65 1
|
2月前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
45 1
|
2月前
|
编译器 开发工具 数据安全/隐私保护
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
本文提供了一个关于如何在Gitee上进行多人协作和版本控制的详细教程,包括新建和初始化仓库、克隆仓库、邀请好友共同管理仓库以及注意事项,旨在帮助用户顺利进行代码协作开发。
407 0
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
|
4月前
|
存储 安全 开发工具
掌握这5个Git高级命令,让你的开发效率飞速提升!
掌握这5个Git高级命令,让你的开发效率飞速提升!
|
4月前
|
jenkins 持续交付 开发工具
自动化开发之旅:Docker携手Jenkins,与Git和Tomcat共舞持续集成
【8月更文挑战第13天】在软件开发中,持续集成(CI)通过自动化构建、测试与部署提升效率与稳定性。Docker、Jenkins、Git和Tomcat构成CI的黄金组合:`git push`触发Jenkins作业,利用Docker确保环境一致性,最终将应用部署至Tomcat。首先配置Git Webhooks以触发Jenkins;接着在Jenkins中创建作业并使用Docker插件模拟真实环境;通过Maven构建项目;最后部署至Tomcat。这套流程减少人为错误,提高开发效率,展示了技术的力量与流程的革新。
100 0
|
4月前
|
Linux 开发工具 git
|
5月前
|
数据可视化 程序员 开发工具
小白也能玩转Git:从入门到实战详细教程
小白也能玩转Git:从入门到实战详细教程
|
5月前
|
Ubuntu 开发工具 git
git 超实用教程【人人必会!】(含大厂的 git 操作规范)
git 超实用教程【人人必会!】(含大厂的 git 操作规范)
94 0