Git学习笔记

一.Git的简介

Git是分布式版本控制系统。

工作流程图

二.Git的基本配置

1.基本配置

查看所有配置

复制代码
git config --list

查看用户名和邮箱配置

复制代码
git config --global --get user.name
git config --global --get user.email

2.填写用户名和邮箱

Git是分布式版本管理系统初次使用需要设置用户名和邮箱,Git使用用户名和邮箱来标记每次提交的作者,这样就可以清楚的知道程序的更改是由谁操作的。

用户名配置

复制代码
git config --global user.name "junzhao"

邮箱配置

复制代码
git config --global user.email "xxxxxxxx@qq.com"

删除用户名配置和邮箱配置

复制代码
git config --global --unset user.email
git config --global --unset user.name

3.创建本地空仓库

1.创建仓库目录(其实就是创建文件夹)

复制代码
mkdir test

2.进入目录(其实就是进到文件夹)

复制代码
cd test

3.创建本地仓库

复制代码
git init

三.Git的基本操作

1.文件添加到本地仓库

创建文件(点后面可以选择对应的后缀名)

复制代码
touch test.c

touch test.txt

touch junzhao.c

touch junzhao.txt

文件添加到本地仓库(添加的同时需要使用git commit 添加修改的描述信息)

添加到本地仓库

将文件添加到暂存区里面。

复制代码
git add test.c 

添加修改的描述信息

提交暂存区的内容到本地仓库。

复制代码
git commit -m "add new file \"test.c\""

注意:引号里面是描述的内容

2.查看提交信息

查看历史提交日志

复制代码
git log

查看暂存区的内容(就是add添加到暂存区的位置)

显示当前工作目录和暂存区的状态。

复制代码
#查看所有文件状态
git status

#查看指定文件状态
git status [filename]

然后,我们将文件添加到暂存区里面。

最后。我们将文件存到本地仓库。


查看文件的修改内容

当我们修改了文件的内容后,我们用git status查询会发现文件被修改,我们可以使用下面的命令来查询修改了那些内容。

复制代码
git diff hellow.txt

接着我们查询修改了那些内容。


查看文件中的内容

复制代码
cat hellow.txt

3.版本退回操作

文件回到上一个版本

复制代码
git reset --hard HEAD^

原本文件内容是3个1,3个2和3个3.使用这个命令后文件的内容退回到上一版本。

我们可以看线日志。


文件恢复到最新版本

首先我们要查询内容里面有333时间是那个版本的。

获取版本号

复制代码
git reflog

恢复版本的内容

由上面我们可以查到每个操作的版本号(前面数字和字母组成),我们根据这个版本号恢复到原来的版本。

复制代码
git reset --hard 61f4eeb

4. 撤销工作目录中的修改

这个命令是如果被修改但尚未暂存(即没使用git add命令添加到暂存区),可以使用这个命令来撤销对工作目录中该文件的更改。

复制代码
git checkout hellow.txt

5.删除本地仓库内的文件

这个命令可以将本地文件夹内的文件直接删除。

复制代码
rm hellow.txt

文件夹内的结果:

四.远程仓库同步

在Git中,本地仓库和远程仓库之间的数据传输是通过一系列的Git命令来实现的,这些命令主要用于将更改从一个仓库同步到另一个仓库。

在这篇文章里面我们用的是gitee远程仓库(因为不用饭墙)

设置本机绑定SSH公钥(免密登录)

首先,我们点开gitee的下面这个界面。

然后,我们在本机电脑打开.ssh文件夹,打开git bash窗口。

在窗口中输入代码生成公钥。

复制代码
ssh-keygen -t rsa

将.pub内的内容复制到gitee的公钥中。

使用gitee创建一个自己的仓库。


克隆远程文件夹

在本地仓库文件夹打开窗口克隆即可。

复制代码
git clone https://gitee.com/panjunzhao/junzhaoxx.git

五.Git中的分支

在Git中,分支是一种非常强大的特性,其允许你在一个项目的不同版本间进行切换和开发,而不会影响到其他分支上的工作。

查看分支

复制代码
git branch -v

在这里我们可以看到当前没有分支。


创建分支

创建一个名为fenzhiming的分支

复制代码
git branch fenzhiming

切换分支

复制代码
git checkout fenzhiming

然后我们再查看分支发现星号在fenzhiming的前面了。


合并分支

假设我们在master分支和fenzhiming分支内,fenzhiming分支中的内容是修改过的,现在我们要将这两个分支去合并。在这里我们是站在主分支master上去合并fenzhiming分支的。

复制代码
git merge fenzhiming

最后我们会看到两个分支的内容变得相等了。(用的别人的例子)


合并冲突

在Git中,合并冲突(Merge Conflicts)是当两个分支中的更改无法自动合并时发生的一种情况。这通常发生在两个分支在同一文件的同一部分都进行了修改,并且Git无法确定应该采用哪个版本的更改时。下图我们在主分支和副分支都更改了文件的内容。

现在我们去合并分支。我们会发现现在的分支合并的内容有冲突了合并失败了。

我们查看git status会发现两个分支都有修改。

所以,接下来我们进行手动合并。

复制代码
vim hellow.txt

将其保存好再添加到本地仓库即可。

最后合并的结果。

相关推荐
志尊宝36 分钟前
AI原生前端开发(025):端侧AI实战项目:智能笔记助手
人工智能·笔记·ai-native
lll23526917791 小时前
线下多人发言对比与录音操作
笔记·智能手机
叼烟扛炮2 小时前
Linux 学习笔记(三十三):线程互斥——互斥锁(Mutex)与死锁
linux·运维·服务器·笔记·学习·1024程序员节
m4Rk_4 小时前
【论文阅读】Agent 记忆机制(113):Agentic Memory Management——从“检索相关信息”走向“管理 Agent 内部记忆”
论文阅读·人工智能·学习·开源·github
深圳老胡4 小时前
STM32C5A3ZG 网络调试总结:从启动失败到连续 Ping 稳定
笔记·stm32·单片机·代码规范
辣知5 小时前
辣知·化智92 《山海经》里的史前密码
学习
职豚求职小程序刷题5 小时前
宁德时代社招高岗晋升测评笔试改版了
笔记
CarIise5 小时前
JDBC 与数据库事务核心
数据库·笔记
鬼手点金5 小时前
KV Cache 未必是一次性的:可编辑、可组合的“笔记”
java·人工智能·笔记·学习·自动化·1024程序员节
摇滚侠5 小时前
《On Java 中文版 基础卷》阅读笔记 初始化和清理 08
java·开发语言·笔记