Git详细安装和使用教程
文章目录
- 准备工作-gitee注册
- 认识及安装Git
- Git配置用户信息
- 本地初始化Git仓库
- 记录每次更新到仓库
- 查看及切换历史版本
- Git忽略文件和查看文件状态
- Git分支-查看及切换
- Git分支-创建分支
- Git分支-合并及删除分支
- Git分支-命令补充
- Git分支-冲突
- 需求:
准备工作-gitee注册
传送门:
- gitee(码云): https://gitee.com/
注册+验证邮箱:
-
点击右上角的注册(注意: 姓名部分是昵称,不是真实姓名)
-
注册完毕之后登录,屏幕右上角会出现如下提示,点击添加绑定
-
在跳转的页面完成邮箱的新增+验证操作
-
看到如下提示,说明绑定成功
-
记住自己
gitee
的邮箱和用户名
认识及安装Git
版本控制系统: 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。
传送门:关于版本控制
作用:
- 记录(项目)文件变化
- 查看记录信息
- 将文件切换到记录时的状态
安装-windows:
-
下载: https://git-scm.com/download/win
-
根据自己的电脑版本,下载对应的安装包(32或64位)
-
双击安装:
- 不要安装在中文目录!!!!!
- 使用默认设置即可,一路下一步
-
安装完毕之后,在任意文件夹下鼠标右键,看到
Git Bash here
说明安装成功
Git配置用户信息
安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址。 因为每一个 Git 提交都会使用这些信息
传送门:初次运行的配置
步骤:
- window用户: 在任意位置打开git bash
- 输入命令:(#部分是注释)
# 配置用户名
git config --global user.name "gitee注册的用户名"
# 配置邮箱
git config --global user.email gitee配置的邮箱
# 查看配置
git config --list
-
如果配置信息太多需要退出可以输入 q
-
终端使用补充:
按键 | 作用 |
---|---|
上下 | 切换历史命令 |
tab键 | 提示信息 |
clear | 清屏 |
本地初始化Git仓库
文档地址: 通常有两种获取 Git 项目仓库的方式
将 尚未进行版本控制 的本地目录 转为 Git仓库(初始化仓库)
从其他服务器 克隆 一个已存在的Git仓库
步骤: (windows)
-
创建新文件夹并在该文件夹下打开:
-
进入文件夹
-
在文件夹中点击鼠标右键,选择
git bash here
打开
-
-
输入命令 git init,看到有如下信息(图1)输出说明初始化成功,重复输入会有提示(图2)
-
文件夹下可以看到有一个隐藏的**.git** 文件夹,*不要改动他
-
(windows)找到隐藏的文件:
-
点击左上角的 查看
-
把 **隐藏的项目 **选项勾上
-
-
记录每次更新到仓库
文档地址:每当完成了一个阶段的目标,想要记录下它时,就将它提交到仓库。
步骤:
- 工作区开发(上一节创建的文件夹内)
- 将修改后的文件添加到暂存区
- 将暂存区的文件记录到版本库
- 执行命令的时候可以看到下图类似的提示
# 添加到暂存区
git add .
# 记录到版本库
git commit -m"信息"
重复: 工作区开发 –> 添加到暂存区 git add . –> 记录到版本库 git commit -m"信息"
查看及切换历史版本
使用git记录到版本库之后,就可以查看并切换到对应的历史版本
命令:
- 命令执行的位置,就在上一节打开的终端,或git bash中
- 核心命令如下
# 查看信息(简略)
git log --oneline
# 查看信息(完整),如果出现无法退出,可以按 q
git log
# 切换到指定版本
git reset --hard 版本号
- 拓展命令
# 查看完整历史(版本切换之后git log可能会出现无法查看的情况)
git reflog
Git忽略文件和查看文件状态
文档地址: 我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。 通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。 在这种情况下,我们可以创建一个名为
.gitignore
的文件,列出要忽略的文件。
步骤:
# 查看文件状态
git status
- 红色:工作区有文件更改,但没提交到暂存区
- 绿色:暂存区有文件更改,但没提交到版本库
- nothing to commit:没有任何文件更改
.gitignore
部分语法:
- 项目开发中,一般都会默认准备好
.gitignore
文件,了解基础语法即可
# 忽略 info.txt 文件
info.txt
# 忽略 .vscode/ 目录下所有的文件
.vscode
# 忽略目录下所有的 .md 结尾的文件
*.md
# 忽略 doc/目录下扩展名为 txt的文件
doc/*.txt
Git分支-查看及切换
文档地址: 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。
图形说明:
-
底部蓝色是记录的信息,从左往右
-
main,默认分支,初始化仓库之后就有
-
HEAD,指向当前分支 main
-
底部是记录的信息,从左往右
-
main,默认分支,只记录了3次
-
dev,开发分支,包含了main的3次记录,及自己的3次记录
-
HEAD,指向当前分支 dev
注意: Git初始化仓库之后默认使用的分支名是 main(早期是 master),默认分支名不相同,不影响后续操作。现在已改回来。
操作命令
# 查看分支
git branch
# 切换分支
git checkout 分支名
# 重命名分支,如果默认是master,可以通过这个命令改为main
git branch -m 老分支 新分支
Git分支-创建分支
创建分支就是创建了一个新的可以移动的指针,默认的指向和原分支一样
操作命令:
# 创建分支
git branch 新分支名
操作说明:
-
比如默认仓库状态如下:
- 1个分支: main
- 提交: 3次
- 当前所在分支:main
-
执行命令:
git branch dev
- 2个分支: main,dev
- 提交: 3次
- 当前所在分支: main
-
执行命令:
git checkout dev
- 2个分支: main,dev
- 提交: 3次
- 当前所在分支: dev
-
在dev分支,继续: 编码–>git记录(git add . git commit -m"信息"),并重复3次
- 2个分支: main,dev
- 提交: 3次(main),6次(dev,包含了main的
- 当前所在分支: dev
Git分支-合并及删除分支
合并分支可以将某个分支上的所有
commit
,并到当前分支的commit
合并完毕之后,可以删除多余分支
操作命令:
# 将指定分支合并到当前分支
git merge 分支名
# 删除已合并的分支
git branch -d 分支名
操作说明:
-
上一节的仓库操纵完毕之后状态如下:
- 2个分支: main,dev
- 提交: 3次(main),6次(dev)
- 当前所在分支:dev
-
执行命令:
git status
- 查看是否有 还没提交的状态
- 有,则执行 提交
- 没有,则执行下面代码
-
执行命令:
git checkout main
(切换分支)- 2个分支: main,dev
- 提交: 3次(main),6次(dev)
- 当前所在分支:main
-
执行命令:
git merge dev
(合并分支)- 1个分支: main
- 提交: 6次(main)
- 当前所在分支:main
Git分支-命令补充
命令 | 操作 |
---|---|
git branch | 查看分支 |
git branch 新分支名 | 创建分支 |
git checkout 分支名 | 切换分支 |
git checkout -b 新分支名 | 创建 + 切换分支 |
git merge 分支名 | 合并分支 |
git branch -d 分支名 | 删除分支 |
git branch -D 分支名 | 强制删除分支 |
git branch -m 老分支名 新分支名 | 重命名分支 |
Git分支-冲突
文档地址: 如果你在两个不同的分支中,对同一个文件的同一个部分进行了不同的修改,Git 就没法干净的合并它们。
需求:
基于提供的Git仓库和参考步骤测试合并时出现的冲突,解决冲突并记录
参考步骤:
- 分别在在dev和main分支修改index.js文件(不同分支,相同文件,相同位置,不同修改)
- 将dev分支合并到main分支
- 这时候会提示 合并冲突
- 根据VSCode的提示解决冲突并记录!!!!!!!!!
- 可以选择顶部那一排选项
- 1-3选了之后可以用
ctrl+z
撤销 - 4,选了之后会弹出新的页面,对比新旧修改,可以关闭
相关文章:

Git详细安装和使用教程
文章目录 准备工作-gitee注册认识及安装GitGit配置用户信息本地初始化Git仓库记录每次更新到仓库查看及切换历史版本Git忽略文件和查看文件状态Git分支-查看及切换Git分支-创建分支Git分支-合并及删除分支Git分支-命令补充Git分支-冲突需求: 准备工作-gitee注册 传送门: gite…...
LeetCode题练习与总结:反转字符串中的单词--151
一、题目描述 给你一个字符串 s ,请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 注意:输入字符串 s中可能会存在…...

2.pwn的linux基础(计算机内部数据结构存储形式)
linux基础 保护层级: 分为四个ring0-ring3 一般来说就两个,0和3 0为内核 3为用户 权限: 用户分为多个组 文件和目录等等的权限一般都是三个,即可读可写可执行。 读:R,写:W,执行:X 赋予一个可执行文件执行权限就是chmod x file…...

67.SAP FICO-凭证类型学习
目录 SAP凭证类型 凭证类型的作用 - OBA7 SAP默认的凭证类型更改 FI相应事务代码默认凭证类型 - OBU1 对FB50、60、70默认凭证类型的更改 - OBZO 后勤货物移动默认凭证类型 - OMBA 发货凭证类型 收货凭证类型 自动移动凭证类型 存货盘点凭证类型 发票默认的凭证类…...

井字游戏00
题目链接 井字游戏 题目描述 注意点 1 < board.length board[i].length < 100输入一定遵循井字棋规则 解答思路 如果某一方想要获胜,则其需要占满某一行或某一列或对角线,所以只需要根据第一行和第一列判断是否填充完某一行或某一列或对角线…...
GEE代码实例教程详解:地表温度与土地覆盖类型分析
简介 在本篇博客中,我们将使用Google Earth Engine (GEE) 对地表温度数据进行分析,并探究不同土地覆盖类型(特别是水体和城市区域)的地表温度变化。通过MODIS数据集,我们可以监测2001年至2024年间的数据。 背景知识 …...

RK3568------Openharmony 4.0-Release 浏览器部署安装
RK3568------Openharmony 4.0-Release 浏览器部署安装 文章目录 RK3568------Openharmony 4.0-Release 浏览器部署安装前言一、DevEco Studio开发工具安装与使用二、浏览器(Browser)样例代码编译三 、浏览器(Browser)部署四、遇到的问题五、效果展示总结 前言 上一篇文章讲解了…...

【kafka】可视化工具cmak(原kafka-manager)安装问题解决
众所周知(反正不管你知不知道),kafka-maneger更名了,现在叫cmak!原因是什么呢?据不可靠小道信息说,原kafka-manager这个名字涉及到kafka商标使用问题,应该是被律师函警告了ÿ…...

【转载】目标检测mAP的含义
转载自三叔家的猫 https://blog.csdn.net/qq_39056987 https://blog.csdn.net/qq_39056987/article/details/104348493 <div id"content_views" class"markdown_views prism-atom-one-light"><svg xmlns"http://www.w3.org/2000/svg" s…...

智慧校园行政办公-红头文件功能概述
在智慧校园的行政办公系统中,红头文件的管理功能是一项重要的组成部分,它极大地提升了文件处理的效率与规范性。该功能围绕文件的创建、审批、归档等关键环节,进行了全面的数字化改造。 首先,系统内置了多种标准化的红头文件模板&…...

汽车IVI中控开发入门及进阶(三十三):i.MX linux开发之开发板
前言: 大部分物料/芯片,不管MCU 还是SoC,都会有原厂提供配套开发板,有这样一个使用原型,在遇到问题时或者进行开发时可以使用。 i.MX 8QuadXPlus MEK board: 1、要测试display显示器,可使用i.MX mini SAS将“LVDS1_CH0”端口连接到LVDS到HDMI适配器的cable。 2、要测试…...

Redis基础教程(十八):Redis管道技术
💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝Ὁ…...

深度学习(笔记内容)
1.国内镜像网站 pip使用清华源镜像源 pip install <库> -i https://pypi.tuna.tsinghua.edu.cn/simple/ pip使用豆瓣的镜像源 pip install <库> -i https://pypi.douban.com/simple/ pip使用中国科技大学的镜像源 pip install <库> -i https://pypi.mirro…...

阿里云登陆Centos7
用自己电脑登陆Centos7太麻烦了,还要自己弄个虚拟机,一个电脑里面既有WIN又有LINUX,索性直接买个阿里云服务器,来学习Centos7。 购买 我是新用户,可以试用3个月,先用个3个月再说哈哈哈。 一系列操作之后…...
探索C嘎嘎的奇妙世界:第十九关---STL(list的模拟实现)
1. 基本框架 首先,我们先从节点的准备工作入手,请看示例: #pragma once #include<iostream> #include<assert.h> using namespace std; //节点 template<class T> struct ListNode {ListNode<T>* _next;Li…...

【分布式系统三】监控平台Zabbix对接grafana(截图详细版)
目录 一.安装grafana并启动 二.浏览器访问 三.导入zabbix数据,对接grafana 四.如何导入模版 以前两篇博客为基础 【分布式系统】监控平台Zabbix介绍与部署(命令截图版)-CSDN博客 【分布式系统】监控平台Zabbix自定义模版配置-CSDN博客 …...

SAPUI5基础知识11 - 组件配置(Component)
1. 背景 组件(Component)是SAPUI5应用程序中独立且可重用的部件。 SAPUI5提供以下两类组件: faceless组件 (class: sap.ui.core.Component): 无界面组件即没有用户界面相关的元素,用于不需要UI元素编码的场景; UI组件 (class: …...

Spring最早的源码
地址:Spring最早的源码...

热烈祝贺!全视通多家客户上榜全球自然指数TOP100!
2024年6月18日,全球医疗机构自然指数TOP100榜单发布,中国医疗机构在其中的表现尤为引人注目。 根据《自然》杂志网站发布的数据,此次公布的排名是基于(2023年3月1日至2024年2月29日)的统计数据,全球医疗机构…...
常用接口避免频繁请求
背景 在项目开发过程中我们难免会遇到一些通用的接口,需要在多个页面调用,拿去结果。比如我们常用的字典接口,后端通过字典配置一些数据,通常这些字典数据是不常更改的。我们通过字典接口传递不同的参数过去,获取到接…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...

【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...
云原生周刊:k0s 成为 CNCF 沙箱项目
开源项目推荐 HAMi HAMi(原名 k8s‑vGPU‑scheduler)是一款 CNCF Sandbox 级别的开源 K8s 中间件,通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度,为容器提供统一接口,实现细粒度资源配额…...
Windows 下端口占用排查与释放全攻略
Windows 下端口占用排查与释放全攻略 在开发和运维过程中,经常会遇到端口被占用的问题(如 8080、3306 等常用端口)。本文将详细介绍如何通过命令行和图形化界面快速定位并释放被占用的端口,帮助你高效解决此类问题。 一、准…...

ZYNQ学习记录FPGA(二)Verilog语言
一、Verilog简介 1.1 HDL(Hardware Description language) 在解释HDL之前,先来了解一下数字系统设计的流程:逻辑设计 -> 电路实现 -> 系统验证。 逻辑设计又称前端,在这个过程中就需要用到HDL,正文…...