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 "[email protected]"

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

复制代码
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

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

最后合并的结果。

相关推荐
踢足球的程序员·24 分钟前
图形渲染: tinyrenderer 实现笔记(Lesson 5 - 7)
笔记·图形渲染
WDeLiang1 小时前
Flask学习笔记 - 项目结构 + 路由
笔记·学习·flask
每次的天空1 小时前
Android学习总结之service篇
android·学习
郭涤生1 小时前
第十章: 可观测性_《凤凰架构:构建可靠的大型分布式系统》
笔记·分布式·架构·系统架构
技术干货贩卖机2 小时前
MATLAB之数据分析图系列 三
学习·matlab·数据挖掘·数据分析·可视化
每次的天空3 小时前
Android学习总结之应用启动流程(从点击图标到界面显示)
android·学习
·醉挽清风·3 小时前
学习笔记—C++—入门基础()
c语言·开发语言·c++·笔记·学习·算法
Kratzdisteln3 小时前
浙考!【触发器逻辑方程推导(电位运算)】
经验分享·笔记·学习方法·高考
知识分享小能手3 小时前
CSS3学习教程,从入门到精通, 化妆品网站 HTML5 + CSS3 完整项目(26)
前端·javascript·css·学习·css3·html5·媒体
沙子可可3 小时前
深入学习Pytorch:第一章-初步认知
人工智能·pytorch·深度学习·学习