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

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

最后合并的结果。

相关推荐
懒羊羊不懒@2 分钟前
Java基础语法—最小单位、及注释
java·c语言·开发语言·数据结构·学习·算法
qq_3985865415 分钟前
Threejs入门学习笔记
javascript·笔记·学习
hour_go1 小时前
TCP/IP协议相关知识点
网络·笔记·网络协议·tcp/ip
潘达斯奈基~1 小时前
在使用spark的applyInPandas方法过程中,遇到类型冲突问题如何解决
大数据·笔记
菜鸟‍2 小时前
【论文学习】大语言模型(LLM)论文
论文阅读·人工智能·学习
我先去打把游戏先2 小时前
ESP32学习笔记(基于IDF):IOT应用——WIFI连接
笔记·单片机·嵌入式硬件·mcu·物联网·学习·esp32
Brookty2 小时前
【算法】前缀和
java·学习·算法·前缀和·动态规划
。TAT。3 小时前
C++ - List
数据结构·c++·学习
金宗汉4 小时前
《宇宙递归拓扑学:基于自指性与拓扑流形的无限逼近模型》
大数据·人工智能·笔记·算法·观察者模式
张永清-老清4 小时前
每周读书与学习->JMeter主要元件详细介绍(一)配置元件
学习·jmeter·性能调优·jmeter性能测试·性能分析·干货分享