Git入门学习教程

article/2025/11/4 3:33:27

Git学习

文章目录

  • Git学习
  • 1.简介
  • 2.工作流程图
  • 3.安装
    • 3.1 常用指令
  • 4.环境配置
    • 4.1 查看配置
    • 4.2 配置用户名(必须)和邮箱
  • 5.创建仓库
  • 6.基础操作指令
    • 6.1 查看状态(status)
    • 6.2 添加工作区到暂存区(add)
    • 6.3 提交暂存区到本地仓库(commit)
    • 6.4 查看提交日志(log)
    • 6.5 版本回退(reset)
    • 6.6 删除文件(rm)
  • 7.分支
    • 7.1 查看分支
    • 7.2 创建分支
    • 7.3 切换分支
    • 7.4 合并分支
    • 7.5 删除分支
  • 8.解决冲突
  • 9.远程仓库Github
    • 9.1 注册Github
    • 9.2 创建远程仓库
    • 9.3 配置SSH公钥
    • 9.4 操作远程仓库
      • 9.4.1 添加远程仓库
      • 9.4.2 查看远程仓库
      • 9.4.3 推送到远程仓库
    • 9.5 从远程仓库克隆
    • 9.6 从远程仓库中抓取和拉取
      • 9.6.1 抓取
      • 9.6.2 拉取
  • 遇到的问题:右键无法打开Bit Bash

1.简介

Git 是一个开源的分布式版本控制系统(Distributed Version Control System,简称 DVCS),用于敏捷高效地处理任何或小或大的项目。

2.工作流程图

工作流程图
使用的命令如下:

  1. clone(克隆): 从远程仓库中克隆代码到本地仓库。
  2. checkout (检出):从本地仓库中检出一个仓库分支然后进行修订。
  3. add(添加): 在提交前先将代码提交到暂存区。
  4. commit(提交): 提交到本地仓库。本地仓库中保存修改的各个历史版本。
  5. fetch (抓取) : 从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少。
  6. pull (拉取) : 从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于fetch+merge。
  7. push(推送) : 修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库。

3.安装

下载地址: https://git-scm.com/download

在这里插入图片描述

下载完成可以得到如下安装文件:

在这里插入图片描述

双击打开按步骤安装即可。安装完成后在电脑桌面(也可以是其他目录)点击右键,如果能够看到下面两个菜单则说明Git安装成功。

在这里插入图片描述

Git GUI:Git提供的图形界面工具

Git Bash:Git提供的命令行工具

3.1 常用指令

在Git Bash中,我们会用到一些基本的linux命令:

  • ls:查看当前目录
  • cat:查看文件内容
  • touch:创建文件
  • vi/vim file:编辑文件

4.环境配置

4.1 查看配置

//查看所有配置
git config -l
//查看系统配置
git config --system --list
//查看用户自己配置
git config --global --list

在这里插入图片描述

系统文件配置文件位置如下(因为之前我改过路径,这里的http.sslCAInfo是不对的,改为D:/Download/Git/mingw64/ssl/certs/ca-bundle.crt

在这里插入图片描述

4.2 配置用户名(必须)和邮箱

//配置用户名
git config --global user.name  "Kint"
//配置邮箱
git config --global user.email "1114011612@qq.com"

用户配置文件位置如下:

在这里插入图片描述

5.创建仓库

创建仓库的步骤如下:

  1. 新创建一个空文件夹(例如test),作为本地的Git仓库
  2. 进入该文件夹,右键打开Git Bash窗口
  3. 执行指令git init
  4. 如果创建成功后可在文件夹下看到隐藏的.git目录(Windows下勾选显示隐藏的项目即可看到)

在这里插入图片描述

在这里插入图片描述

6.基础操作指令

Git工作目录下对于文件的修改(增加、删除、更新)会存在几个状态,这些修改的状态会随着我们执行Git的命令而发生变化。

在这里插入图片描述

6.1 查看状态(status)

  • 作用:查看的修改的状态(暂存区、工作区)
  • 指令:git status

这里新创建了一个file01.txt的文件,使用指令git status查看,现在file01.txt是未跟踪的文件,提示我们可以用指令git add跟踪该文件,即将文件放入暂存区。

在这里插入图片描述

6.2 添加工作区到暂存区(add)

  • 作用:添加工作区一个或多个文件的修改到暂存区
  • 指令:git add 单个文件名|通配符(一般常用指令git add .,将所有的改动加入暂存区)

现在我们用git add .指令将file01.txt文件放入暂存区,现在可以看到文件是即将提交的状态,即将存入我们创建好的仓库中。

在这里插入图片描述

6.3 提交暂存区到本地仓库(commit)

  • 作用:提交暂存区内容到本地仓库的当前分支
  • 指令:git commit -m ‘注释内容’

使用指令git commit -m 'add file01'将文件存入仓库中。

在这里插入图片描述

6.4 查看提交日志(log)

  • 作用:查看提交记录
  • 指令:git log [options]
    • options参数:
      • –all:显示所有分支
      • –oneline:将提交信息显示为一行
      • –abbrev-commit:使得输出的commitId更简短
      • –graph:以图的形式显示,查看历史中什么时候出现了分支、合并

查看我们的操作记录,git log --graph在每条记录前面有*符号,当操作记录和分支数量很多的时候,该指令可以让操作者更直观看到仓库的变化。

在这里插入图片描述

6.5 版本回退(reset)

  • 作用:版本切换
  • 指令:git reset --hard commitID(commitID 可以使用git log指令查看)

现在我们新创建文件file02.txt,并提交到我们的仓库中,此时我们的仓库中存在file01.txtfile02.txt两个文件。可以看到这时我们有两条提交记录,前面就是提交的编号,我们可以根据这个编号回退到我们之前的版本。比如这里我们想回到只有file01.txt文件的版本。

在这里插入图片描述

我们输入git reset --hard 86d8f8e指令,此时我们就只有add file01的提交记录,没有add file02的提交记录,仓库中也没有file02.txt,说明我们成功回到了只有file01.txt的版本。

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

如果这时候我们想回到add file02的版本,但是我们记不住提交编号,我们可以通过git reflog指令查看所有的提交记录。

在这里插入图片描述

找到提交编号后,我们就可以回滚到有file01.txtfile02.txt版本的仓库。

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

6.6 删除文件(rm)

  • git rm -f file:将文件从暂存区和工作区中删除
  • git rm --cached file:把文件从暂存区域移除,但仍然保留在当前工作区中

如果只是新创建test.txt文件而没有提交至暂存区,git rm test.txt指令不生效。

在这里插入图片描述

文件提交至暂存区后,git rm test.txt指令仍不生效,但此时我们可以根据提示修改指令,-f即强制删除暂存区和工作区的文件,--cached则是删除在暂存区的文件而保留工作区的文件。

在这里插入图片描述

7.分支

几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以把你的工作从开发主线上分离开来进行重大的Bug修改、开发新的功能,以免影响开发主线。

7.1 查看分支

  • git branch

目前我们只有一个master分支。

在这里插入图片描述

7.2 创建分支

  • git branch 分支名

创建新分支dev01

在这里插入图片描述

7.3 切换分支

  • git checkout 分支名
  • git checkout -b 分支名(创建并切换分支)

成功切换至dev01分支。

在这里插入图片描述

7.4 合并分支

  • git merge 合并分支名

我们在dev01分支上创建了file03.txt,并提交至仓库中。此时master分支仓库中没有file03.txt。我们的目的是想要master分支中也有file03.txt

在这里插入图片描述

我们先切换到master分支,执行git merge dev01指令就可以合并两个分支。

在这里插入图片描述

7.5 删除分支

  • git branch -d 分支名(删除分支时,需要检查)
  • git branch -D 分支名(不做检查,强制删除)

合并完成后,我们将dev01分支删除,此时就只剩下了master分支。

在这里插入图片描述

8.解决冲突

当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决冲突,解决冲突步骤如下:

  1. 处理文件中冲突的地方
  2. 将解决完冲突的文件加入暂存区(add)
  3. 提交到仓库(commit)

比如此时master分支有3个文件,我们先创建并切换至dev01分支。

在这里插入图片描述

dev01分支中,我们修改file01.txt的内容,让count=1。(用vim编辑文本时,先按i键进入编辑模式,修改完成后按Esc:,最后输入wq指令保存退出)

在这里插入图片描述

然后将修改后的文件上传至仓库中。

在这里插入图片描述

切换回master分支,修改file01.txt的内容,让count=2,然后上传至对应仓库中。

在这里插入图片描述

当我们尝试合并两个分支时,会提示我们产生了冲突。查看file01.txt内容,其中count=2master分支修改的内容,count=1dev01分支修改的内容,我们需要手动处理产生冲突的地方。

在这里插入图片描述

我们可以修改成想要的效果,在这里我设置count=3。

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

成功解决冲突,最后提交文件至仓库,就可以完成合并分支的操作。

在这里插入图片描述

9.远程仓库Github

9.1 注册Github

地址:https://github.com/

9.2 创建远程仓库

在这里插入图片描述

仓库创建完成后可以看到仓库地址,如下图所示:

在这里插入图片描述

9.3 配置SSH公钥

  • 生成SSH公钥:ssh-keygen -t rsa -C “登陆GitHub的邮箱”(不断回车,如果公钥已经存在,则自动覆盖)

在这里插入图片描述

  • 获取公钥:cat ~/.ssh/id_rsa.pub
  • 在Github上设置SSH

在这里插入图片描述

设置成功如下:

在这里插入图片描述

  • 验证是否配置成功:ssh -T git@github.com

在这里插入图片描述

9.4 操作远程仓库

9.4.1 添加远程仓库

此操作是先初始化本地库,然后与已创建的远程库进行对接。

  • 命令:git remote add <远端名称> <仓库路径>
    • 远端名称,默认是origin,取决于远端服务器设置
    • 仓库路径,从远端服务器获取此URL(选择SSH)
    • 例如: git remote add origin git@github.com:LenkyAndrews/git_test.git

在这里插入图片描述

9.4.2 查看远程仓库

  • 命令:git remote

在这里插入图片描述

9.4.3 推送到远程仓库

  • 命令:git push [远端名称] [本地分支名]
    • 例如:git push origin master

将本地的master分支仓库上传至远程仓库中。

在这里插入图片描述

查询远程仓库可以看到对应的文件。

在这里插入图片描述

9.5 从远程仓库克隆

如果已经有一个远端仓库,我们可以直接clone到本地。

  • 命令:git clone <仓库路径>

例如,我们新创建一个clone的文件夹,在里面右键打开Git Bash,输入指令git clone git@github.com:LenkyAndrews/git_test.git

在这里插入图片描述

可以看到,已经成功将远端仓库的文件克隆到本地。

9.6 从远程仓库中抓取和拉取

9.6.1 抓取

命令:git fetch [远端名称] [分支名称]

抓取指令就是将仓库里的更新都抓取到本地,不进行合并。比如操作者A新创建文件file04.txt,然后提交到远程仓库中。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

然后操作者B本地的仓库没有更新,此时他要抓取远端仓库的更新到本地。抓取后查看记录此时本地仓库并没有file04.txt文件,故要进行合并分支操作。

在这里插入图片描述

通过git status指令可以查看当前的状态,合并分支后可以看到本地仓库中已有file04.txt文件。

在这里插入图片描述

9.6.2 拉取

命令:git pull [远端名称] [分支名称]

将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge。

比如操作者A又添加了file05.txt文件到远端仓库中。

在这里插入图片描述

操作者B想要更新本地仓库,直接使用pull指令即可完成更新。

在这里插入图片描述

遇到的问题:右键无法打开Bit Bash

问题:右键无法打开Bit Bash,显示找不到应用程序。

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

解决办法:

  1. win+r 快捷键打开运行,输入regedit,打开注册表。

在这里插入图片描述

  1. HKEY_CLASSES_ROOT\Directory\Background\shell这个目录下找到git_guigit_shell两个文件夹,git_gui对应的就是右键菜单中的“Git GUI here" ,git_shell对应右键菜单中的"Git Bash here"。

在这里插入图片描述

  1. 点击文件夹,在右侧可以看到当前路径有误,需要修改。在这里插入图片描述

  2. 双击Icon,修改路径,这里我是删除一个Git/

在这里插入图片描述

  1. 点击command文件夹,双击右侧的默认,修改路径。

在这里插入图片描述

  1. 修改完毕后关闭注册表。

现在右键可以正常打开Git了。

在这里插入图片描述


http://chatgpt.dhexx.cn/article/m38bIKrn.shtml

相关文章

【Git从入门到精通】Git入门

什么是版本控制 版本控制是一套系统&#xff0c;按时间记录某一个或一系列文件的变更&#xff0c;查看以前的特定版本。 使用版本控制系统&#xff0c;你可以将文件或者整个项目恢复到先前的状态&#xff0c;还可以对以前的文件进行对比。 本地版本控制系统 本地版本控制系…

Git入门看这一篇就够了

老规矩&#xff0c;在学习前我们先看一下学习框架&#xff1a; Tip: Git分支内容较多就放在另一篇文章中啦 目录 Git起步——版本控制 版本控制软件 版本控制软件的好处 版本控制软件的分类 Git基础 Git基础 Git中的三个区域 Git中的三种状态 基本的Git工作流程 安装…

Git入门级教程

文章目录 一.Git概述?1.什么是Git?2.通过git我们可以&#xff1a;3.Git工作流程图4.工作区、暂存区、版本库 概念5.Git的下载与安装6.Git代码托管服务 二.Git常用命令1.Git全局设置2.获取Git仓库&#xff1a;4.本地仓库操作常用命令5.远程仓库操作的常用命令5.1配置SSH钥6.分…

Git入门起步

一、关于版本控制 1.1、概念 版本控制软件&#xff1a;是一个用来记录文件变化&#xff0c;以便将来查阅特定版本修订情况的系统&#xff0c;因此有时也叫做“版本控制系统” 通俗的理解&#xff1a;把手工管理文件版本的方式&#xff0c;改为由软件管理文件的版本&#xff1b…

git新手入门教程

git在日常开发是经常用到的工具&#xff0c;也是程序员必备的技能之一。下面是一篇git的新手快速入门。 git的下载地址&#xff1a;https://www.git-scm.com/download/ 上面是一张简易的git流程图&#xff0c;下面讲讲git操作的基本命令行。 git clone $ git clone 地址 …

Git入门到精通全套教程

[声明:此文章为观看尚硅谷系列课程后本人手打整理课件] 第一章 Git概述 git是一个免费&#xff0c;且开源的分布式版本控制系统&#xff0c;可以快速高效地处理从小到大的各种项目 git易于学习&#xff0c;占地面积小&#xff0c;性能极快。它具有廉价的本地库,方便的暂存区域…

git 入门

git入门 一、下载安装 git官网地址Git - Downloads 二、提交仓库 1. 用户配置 $ git config --global user.name "Your Name" $ git config --global user.email "emailexample.com"name与"有空格 2. 创建文件夹,查看当前地址,创建仓库 $ m…

Git入门操作

Git简介 Git分有工作区&#xff0c;暂存区&#xff0c;本地库 Git具体命令 1. 初始化 命令&#xff1a; git init首先新建一个文件夹&#xff0c;把他当作我们要用git来管理的一个项目文件。右键点击GitBashHere 会弹出一个命令框&#xff0c;我们执行git init 这代表我…

git入门(必看)

git入门 git简介 文章目录 git入门git简介版本控制系统发展可以分为三个阶段&#xff1a; Git 的诞生Git 诞生的背景Linus 两周完成 GitGit 的发展壮大 git安装在 Windows 上安装在 macOS 上安装在 Linux 上安装 Git环境配置配置用户名和邮件地址检查配置Git 颜色配置Git忽略文…

git快速入门

背景 git作为现在最为流行的版本管理系统&#xff0c;大部分公司都使用git进行版本控制&#xff0c;并且最大同性交友网站github也是在git的基础上建立的。 很多人认为git难&#xff0c;在于它的一些概念与之前流行的集中化的版本管理系统有所出入&#xff0c;只要通过熟悉gi…

Git从入门到精通

集中式与分布式中心服务器工作流分支实现冲突Fast forward分支管理策略储藏&#xff08;Stashing&#xff09;SSH 传输设置.gitignore 文件Git 命令一览参考资料 # 集中式与分布式 Git 属于分布式版本控制系统&#xff0c;而 SVN 属于集中式。 集中式版本控制只有中心服务器拥…

Git快速入门(图文教程)

前言&#xff1a; Git是目前最流行的版本控制工具之一&#xff0c;它可以帮助我们更好地管理代码&#xff0c;协作开发&#xff0c;以及保证代码的安全性。在学习Git之前&#xff0c;我们需要先了解几个概念&#xff1a; workspace&#xff1a;工作区&#xff0c;即我们正在进…

史上最简单的Git入门教程

1. 版本控制系统简介 1.1 何为版本控制 版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了已录下来。每一次文件的改变&#xff0c;文件的版本号都将增加。除了记录版本变更外&#xff0c;版本控制的另一个重要功能是并行开发…

Git入门

目录 一、准备工作 1.安装Git 二、git简介 1.Git是什么&#xff1f; Git是一个开源的【分布式】【版本控制系统】&#xff0c;用于敏捷高效地处理任何或小或大的项目 2.Git与SVN区别&#xff08;重点1/2/3/7点&#xff09; 3.实践操作&#xff1a;Gitee网站相关操作 3.1 …

程序员必备技能篇:Git入门到精通

前言❤️ 所有美好&#xff0c;都不负归期&#xff0c;选一种姿态让自己活得无可替代&#xff0c;没有所谓的运气只有绝对的努力 ❤️ 程序员必备技能篇&#xff1a;Git入门到精通 一、Git 起步篇&#xff08;1&#xff09;关于版本控制1.1 什么是版本控制1.2 版本控制软件1.2.…

Git入门到精通

Git入门到精通 一. 什么是Git1.1 Git简介1.2 Git的优点 二. Git和Svn的区别三. Git下载与安装3.1 下载Git 四. Git结构五. Git和代码托管中心5.1 代码托管中心5.2 本地库与远程库5.3 团队内部协作流程5.4 跨团队协作 六. Git命令行6.1 创建本地库6.2 设置签名6.2.1 签名概述6.2…

git入门使用详解

前言 一直使用svn版本管理&#xff0c;现在大多数公司都在用git作为版本管理工具。因此有必要简单了解一下git的常规使用&#xff0c;在以后用到git时&#xff0c;不至于盲目抓瞎&#xff0c;一脸懵逼。 一、对于分布式版本管理的理解 之前用的svn是集中式版本管理。代码中央…

git入门学习(详细版)

初始操作 git init 一个本地仓库设置完成 如果把文件夹删了 再git init的话 相当于另一个本地仓库了 设置自己的姓名和邮箱&#xff1a; 全局设定(设置完后本机全部生效)不局限于单个git文件夹 标识我的本机: git config --global user.name "wkx" 本机电脑 …

git入门教程

git入门教程 一、工作流程二、获取本地仓库三、Git常用指令1、查看文件状态2、查看提交日志3、版本回退4、添加文件至忽略列表 三、分支1、查看本地分支2、创建分支3、切换分支4、合并分支5、删除分支6、解决冲突 四、Git远程仓库1、常用的托管服务[远程仓库]2、注册码云3、创建…

Git入门(建议收藏)

目录 一.git简介 二.git的安装及其常用指令 三.分支及远程仓库基础操作 一.git简介 中心服务器&#xff0c;仅仅是为了方便交换大家的修改&#xff0c;但是这个服务器的地位和我们每个人的 PC 是一样的。我们可以 把它当做一个开发者的pc 就可以就是为了大家代码容易交流不关机…