0


【Git学习笔记(二)】Git的基本操作

Git的基本操作

前言

本文将从最基本的操作开始,逐步介绍如何创建本地仓库、连接远程仓库、克隆项目、添加文件、提交更改以及推送更新,通过本文的学习,将能够掌握Git的基本操作,为日后的项目开发打下坚实的基础。

正文

1、Git本地仓库创建和一些基本概念

1.1 本地仓库创建

在需要创建仓库的文件夹下,点击鼠标右键->选择Git Bash Here
在这里插入图片描述

输入

git init

指令:

在这里插入图片描述

创建成功后:

在这里插入图片描述

1.2 本地项目创建

创建项目:

git init XXX

输入

git init tModels

指令:

在这里插入图片描述

创建成功后:
在这里插入图片描述

1.3 仓库区和工作区

.git 文件夹

称为仓库区 ,类似于一个数据库存储着每一次提交的变化;

.git 所在目录

称为工作区,在这里可以创建项目和其他文件.

1.4 暂存区

暂存区 是存储将要被提交的文件变化的区域

通过

git add <文件名>

指令可以把可以把文件添加到暂存区

在这里插入图片描述

添加到暂存区后,图标会变成如下所示:

在这里插入图片描述

如果文件太多,可以用

git add . 

把所有的文件添加到暂存区
创建 2.txt、3.txt 文件:
在这里插入图片描述
在这里插入图片描述
添加成功后:
在这里插入图片描述

1.5 提交

使用

git commit -m "提交消息"

命令提交暂存区存储的变化并生成一个新的版本

git commit -m "初次提交" 

提交后:

在这里插入图片描述

文件图标会变成如下所示:

在这里插入图片描述

如果不加

 -m "提交消息"

先修改 2.txt 文件:
在这里插入图片描述

添加到暂存区后,只输入

git commit

指令,会进入下面的界面:

在这里插入图片描述

这是 linux 里面的 vim 程序,相当于 Windows 里面的 记事本;

简单介绍下 vim 的常用指令:

  • i 命令进入插入模式 ;
  • exc 退出插入模式;
  • shift zz 退出Vim编辑器;

在这里插入图片描述

1.6 查看状态

使用

git status

命令查看状态;

在这里插入图片描述

1.7 查看日志

使用

git log

命令查看日志;

在这里插入图片描述

2、Git服务器和远程仓库创建

2.1 搭建自己的Git服务器

有条件的话可以搭建自己的 Git 服务器

2.2 免费服务器

2.2.1 github.com

github:全球最大的开源项目托管平台

2.2.2 gitee.com

Gitee :也被称为“码云”,是中国领先的代码托管与社交化软件开发协作平台;
本专栏主要采用 Gitee 作为 Git 服务器,下面的操作也是基于 Gitee 服务器实现的

2.2.3 创建远程仓库
  • 注册 gitee 账号(这里不做过多介绍)
  • 创建仓库

在这里插入图片描述

  1. 输入仓库名称在这里插入图片描述
  2. 更改路径(也可以不更改)在这里插入图片描述
  3. 写仓库介绍在这里插入图片描述
  4. 设置仓库是私有还是开源在这里插入图片描述
  5. 初始化仓库:a、选择语言 b、添加 .gitignore c、添加开源许可证在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
  6. 设置模板在这里插入图片描述在这里插入图片描述

3、克隆

3.1 https方式

  1. 首先获 HTTPS 的地址:在这里插入图片描述
  2. 输入 git clone "https地址" 指令在这里插入图片描述 克隆成功后:在这里插入图片描述
  3. 如果是私有项目,第一次克隆需要我们输入 Git 的账号和密码

3.2 ssh方式

  • ssh 是一种开源非对称加密通信协议;
  • ssh 只是一种协议,有开源实现也有商业实现,Git 默认使用开源实现的 openssh;
  • ssh 通信需要一堆密钥(公和私一对),私钥留在自己电脑上,公钥给其他电脑;
  • 使用 Git Gui 生成密钥 并把公钥放在服务器上;在这里插入图片描述在这里插入图片描述在这里插入图片描述注意:点击 Generate Key 时会弹出一个 OpenSSH 的对话框,可以输入一个密码,这个密码是对公钥的再次加密,提高公钥的安全性在这里插入图片描述
  • 安装完第一次克隆会请求是否允许使用 ssh,需要我们输入一个 “yes”

3.3 服务器 ssh公钥添加

  • 设置
  • 安全设置
  • 添加公钥在这里插入图片描述

4、添加、提交、推送、拉取

下面的操作为了方便都使用 TortoiseGit 进行;后续会有介绍 Git 指令的文章;

4.1 添加

将文件添加到暂存区;

在这里插入图片描述

上图中
tExcelHelper.py 是已经添加过的状态
tFileINI.py 是未添加过的状态

添加方式:
在这里插入图片描述
成功添加后:
在这里插入图片描述

4.2 提交

提交只提交到本地仓库,需要推送才会把变化更新到服务器仓库
在这里插入图片描述
在日志信息中记录此次变更的信息:
在这里插入图片描述
成功提交后:
在这里插入图片描述

4.3 推送

在提交成功后,可以直接推送到服务器
注意:如果服务器版本比我们新,会推送不成功需要先拉取
在这里插入图片描述
在这里插入图片描述
推送成功:
在这里插入图片描述
这时刷新服务器,可以看到:
在这里插入图片描述

4.4 拉取

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

注意:拉取时应确保工作区整洁

5、分支创建与合并

master 是仓库的主分支,为了避免开发过程中程序员之间相互影响,一般选择创建一个新的分支来开发新功能;

5.1 创建分支

在这里插入图片描述

在这里插入图片描述

这时提交的话 还是显示提交到 master 分支,所以需要切换分支

在这里插入图片描述

5.2 切换分支

5.2.1 通过切换/检出

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.2.2 通过版本分支图进行切换

在这里插入图片描述

在这里插入图片描述

右键选择"切换/检出到(S) 分支名"

在这里插入图片描述

5.3 合并分支

如果在 “新的分支” 下创建新文件,在版本分支图中:

在这里插入图片描述

通过 “显示日志” 可以看到该分支下的变更信息

在这里插入图片描述

在这里插入图片描述

如果在 master 和 “新的分支” 下都有已提交的文件,那应该如何合并呢?

在这里插入图片描述

在这里插入图片描述

  • 首先要切换到主分支上
  • 选择"合并"在这里插入图片描述
  • 选择要合并到主分支上的分支在这里插入图片描述

可以看到已经合并成功:

在这里插入图片描述

6、冲突

6.1 冲突如何产生

两个分支修改了同一文件,合并的时候会发生冲突

例如:在 master 分支中修改 new.txt 文件
在这里插入图片描述
在 “新的分支” 分支中同样修改 new.txt 文件:
在这里插入图片描述

在这里插入图片描述

这时,如果想要把 “新的分支” 合并到 master 中来,合并会报错:

在这里插入图片描述

在这里插入图片描述

在两个分支中修改的 new.txt 文件图标变成:

在这里插入图片描述

打开之后:

在这里插入图片描述

6.2 如何解决冲突

协商修改冲突位置,并重新提交

在这里插入图片描述

会提示当前提交的文件是冲突的,需要手动解决:

在这里插入图片描述

也可以在合并失败时直接点击"解决"

在这里插入图片描述

双击要解决冲突的文件:

在这里插入图片描述

感叹号的这一行为有冲突的地方:

在这里插入图片描述

可以自己编辑文本,也可以右键选择优先使用左侧或者右侧文本:

在这里插入图片描述

然后点击 “保存” 选择 “标记为解决”:

在这里插入图片描述
’再次提交时会提示 “是一个特殊的提交”:
在这里插入图片描述

6.3 如何解决冲突

尽量避免冲突,如果有冲突:

  1. 先 pull 再修改;
  2. 确保自己正在修改的文件是最新版本的;
  3. 各自开发各自的模块,如果要修改公共文件,最好先确认有没有人正在修改;
  4. 不要擅自修改同事的代码

7、忽略

忽略文件:.gitignore

 touch .gitignore

命令来创建一个忽略文件

在这里插入图片描述

  • 按文件名忽略文件夹:文件夹名/ ([Aa]忽略大小写)
  • 按路径忽略文件夹:/文件夹名(路径)/
  • 忽略文件:*.后缀名
  • 反忽略,对文件和文件夹都有效:!*.文件名!A/

注意:空文件夹会被自动忽略

8、版本回退

8.1 版本回退操作

在 “版本日志界面” 选择一个想要回退的节点,使用重置(Reset)命令:

在这里插入图片描述

在这里插入图片描述

8.2 三种重置类型

三种重置类型:
1、软重置(S):不更改工作区和索引;
2、混合(M):保持工作区不变,重置索引文件(重置暂存区);
3、硬重置(H):重置工作区和索引(丢弃所有本地变更,谨慎使用);

注意:
Head:当前分支的引用指针(重置就是移动Head这个指针)
Index:就是缓存区(被Add的,也可以说是将要提交的,文件的快照)
工作区:.git所在目录以及子目录

8.3 打标签

目的是放置硬重置后,再想恢复的情况
具体操作,选中版本后,右键,选择 “在此版本上创建标签”:
在这里插入图片描述

在这里插入图片描述

如果想要重置到 打标签 的这个版本,要选择 “标签(T)”:

在这里插入图片描述

9、子模块

子模块:就是一个 Git 仓库包含其他 Git 仓库
当我们需要把其他开源项目作为本项目的一个库,并可以随时拉取更新的时候
或者我们的项目需要分模块独立开发的时候可以使用子模块

添加子模块的操作:
在这里插入图片描述

在这里插入图片描述

添加子模块成功:

在这里插入图片描述

会自动生成 .gitmodules 文件(配置文件):

在这里插入图片描述

注意:克隆有子模块的仓库,需要选择递归
在这里插入图片描述

10、issue 和 PullRequest

issue:讨论

在这里插入图片描述

PullRequest:拉取请求,为项目贡献代码,请求项目管理者合并自己的代码

在这里插入图片描述

标签: git gitee

本文转载自: https://blog.csdn.net/sallyyellow/article/details/137688667
版权归原作者 禾戊之昂 所有, 如有侵权,请联系我们删除。

“【Git学习笔记(二)】Git的基本操作”的评论:

还没有评论