首页/新闻资讯/正文详情

git (版本控制器)的使用

发布时间:2026/9/27 2:00:01 来源:云帆数科 栏目:资讯中心
git (版本控制器)的使用
1. 软件安装查看 Git 安装版本命令git --versionLinux-centos输入git命令 ------- 查看系统是否安装安装git命令 -------sudo yum -y install gitLinux-ubuntu输入git命令 ------- 查看系统是否安装安装git命令---------sudo apt-get install git -yWindows国内镜像站 链接https://registry.npmmirror.com/binary.html?pathgit-for-windows/安装过程中一直点Next即可;2. Windows 下调用 Git bash第一种方法在win R输入命令:C:\Program Files\Git\bin\bash.exe --login默认装在 C 盘下的第二种方法在win R输入命令bash配置环境变量:在此电脑右键 → 属性 → 高级系统设置 → 高级 →环境变量在【系统变量】找到Path点编辑点击【新建】粘贴这一条C:\Program Files\Git\bin3. 安装 Git 后首先 设置 用户名称 和 e-mail 地址git config [–global] user.name “Your Name”git config [–global] user.email “emailexample.com”***把 Your Name 改成你的昵称把 emailexample.com 改成邮箱的格式只要格式正确即可其中--global是一个可选项。如果使用了该选项表示这台机器上所有的 Git 仓库都会使用这个 配置。查看 配置命令为:git config -l删除 配置命令为:git config [–global] --unset user.namegit config [–global] --unset user.email4. 常用的命令clear清屏命令创建一个 git 仓库git init创建一个文件touch 文件名.后缀修改文件:vim 文件名vim 操作步骤打开文件后按i进入编辑模式 (insert)可以修改文字修改完成按Esc退出编辑模式输入:wq回车 →保存并退出:q!回车 →不保存强制退出列出目录里面的文件、文件夹:lscat 文件名看电脑磁盘上文件内容git cat-file -p 哈希值看 git 仓库数据库里面存的历史版本tree xxx指向本次快照对应的tree 对象哈希本次提交目录结构parent上一次提交父提交merge 合并提交有两个 parent对应你刚才的分支合并图author代码是谁写的committer是谁执行提交操作(一)添加场景git add 用法添加 单个/ 多个文件git add file1 [file2]添加整个目录git add 目录名添加当前目录所有改动git add .(最常用)git commit 用法(暂存区 - 本地仓库)git commit -m “提交说明文字” (-m 选项绝对不能省略以及好好描述)查看历史提交记录命令git log/git log --prettyoneline简化信息显示从最近到最远的提交日志并且可以看到我们 commit 时的日志消息。这种数字是commit id查看仓库当前状态命令git status用来显示暂存区和工作区文件的差异命令git diff [file](二)版本回退回退版本命令git resetgit reset [--soft | --mixed | --hard] [HEAD]可以指定退回某一次提交的版本。“回退”本质是要将版本库中的内容进行回退HEAD 说明:(1) 可直接写成commit id表示指定退回的版本(2)HEAD 表示当前版本 ◦ HEAD^ 上一个版本 ◦ HEAD^^ 上上一个版本 ◦ 以此类推--soft版本库回退--mixed版本库和暂存区回退--hard版本库和暂存区和工作区回退--mixed(默认选项) --hard(慎选)想要回到 执行git reset版本回退之后, 再回到 执行git reset之前的版本git log看不到被回退掉的旧 commit 记录找不到旧版本的 commit‑id没法再切回旧版本git reflog记录本地所有操作记录commit、reset、checkout 等** 步骤:**(1)git reflog→ 查找目标版本对应的 commit‑id简写 id 即可(2)git reset --hard 简写commit‑id → 恢复到这个旧版本:::(三)撤销修改1.情况一对于工作区的代码还没有 ****add **命令:git checkout -- [ 文件名 ]让工作区的 文件回到最近一次add或commit时的状态要注意git checkout --[file] 命令中的--很重要切记不要省略情况二已经 add 但没有 commit命令:git reset --mixed HEAD 文件名◦ 只操作暂存区(只是取消 add)3.情况三已经 add 并且也 commit 了命令git reset --hard HEAD^回退到上一个版本(条件: 本地版本库未推送到远程)(四)删除文件命令git rm 文件名注意: 删完后要conmit注意:当命令端 出现按 ctrl c;不要在下创建文件夹, 使用**cd 文件夹**命令 放置到规划好的文件夹中5. 常见概念工作区是在电脑上你要写代码或文件的目录。暂存区英文叫stage或index。一般存放在 .git 目录下的 index 文件.git/index中我们把暂存区有时也叫作索引index。版本库又名仓库英文名 repository 。工作区有一个隐藏目录 .git它不算工作区而是 Git 的版本库。这个版本库里面的所有文件都可以被 Git 管理起来每个文件的修改、删除Git 都能跟踪以便任何时刻都可以追踪历史或者在将来某个时刻可以“还原”。如图所示:6. 分支管理命令:git log --graph --prettyoneline --abbrev-commit以图形、简洁单行的形式查看所有提交、分支分叉、合并历史看清分支是怎么分开、怎么合并的(一)创建分支命令git branch 分支名查看当前本第所有分支命令:git branch(二)切换分支git checkout 分支名git checkout -b 分支创建分支 并 切换到该分支(三)合并分支git merge 要合并过来的分支名先切换到合并的分支(四)删除分支(合并完成后,分支可以删除了)git branch -d 分支要在其他分支下删除当前分支(五)合并冲突(手动解决) HEAD # HEAD代表【当前分支(master)】的代码 master写的文字 # 分割线上面是master下面是要合并过来的dev1 dev1写的文字 dev1 # 来自dev1分支的代码解决步骤:打开冲突文件(cat 冲突文件)删掉 HEAD、、 dev1这些标记符号自己选择最终代码保留 master、保留 dev1、或者两者修改合并写在一起保存文件把改完的文件加入暂存完成合并提交解决完冲突,把分支删除(六)分支管理策略一 、 Fast forward 模式(少用)删除分支后查看分支历史时会丢掉分支信息看不出来最新提 交到底是 merge 进来的还是正常提交的使用--no-ff参数git merge --no-ff -m 提交信息 分支(七)分支策略首先master分支应该是非常稳定的也就是仅用来发布新版本平时不能在上面干活在其它新建分支上干活(八)BUG 分支场景在dev上开发到一半突然发现master分支上面有 bug需要解决。在Git中每个 bug 都可以通过一个新的临时分支来修复修复后合并分支然后将临时分支删除。现在dev的 代码在工作区开发了一半,还无法提交使用git stash命令 可以将当前工作区信息进行储藏修完bug后使用命令 :git stash list查看存放工作区的代码将代码恢复到工作区的命令:git stash popdev完成代码后与master进行合并时有可能会产生冲突(dev 代码里的不一定修复 BUG)解决方案:最好在自己的分支上合并master 再让 master 去合并 dev这样做的目的是有冲突可以在本地分支解决并进行测试而不影响 master(九)删除临时分支(feature)命令:git branch -D 分支名

相关推荐

MTK Android 10侧键改造成相机键:全链路实现
MTK Android 10侧键改造成相机键:全链路实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 2:00:01

Jetson Nano与Dofbot机械臂视觉分拣实战:OpenCV色块识别与抓取
Jetson Nano与Dofbot机械臂视觉分拣实战:OpenCV色块识别与抓取

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 2:00:01

uvm_config_db配置机制详解:从路径匹配到寄存器模型镜像值
uvm_config_db配置机制详解:从路径匹配到寄存器模型镜像值

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 2:00:01

网站建设一般用到的语言对比:搞懂技术栈,别花冤枉钱
网站建设一般用到的语言对比:搞懂技术栈,别花冤枉钱

网站建设一般用到的语言对比:搞懂技术栈,别花冤枉钱 网站做好了没人访问,这往往是技术选型埋下的雷。很多老板盯着【源码下载】链接狂点,觉得代码多就是好,结果上线后页面加载慢如蜗牛,搜索引擎爬虫直接放弃抓取。这种“有站无客”的尴尬,根源在于你不… · 2026/9/27 2:39:02

Linux与STM32协同:机器人实时控制的底层通信架构
Linux与STM32协同:机器人实时控制的底层通信架构

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 2:39:02

嵌入式信号链路诊断:串口假故障、蓝牙断连与烧录批次差异实战指南
嵌入式信号链路诊断:串口假故障、蓝牙断连与烧录批次差异实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 2:39:02

搞定WordPress查询表:用免费工具搞定域名服务器难题
搞定WordPress查询表:用免费工具搞定域名服务器难题

搞定WordPress查询表:用免费工具搞定域名服务器难题 域名解析报500,服务器CPU飙到90%?别慌。 很多站长盯着后台日志发呆,以为是自己代码写崩了。 其实十有八九是数据库查询拖垮了整个站点。 今天不聊虚的,直接上 免费工具… · 2026/9/27 2:38:37

5步搞定发外链的论坛网站被黑挂马的对比评测与安全加固
5步搞定发外链的论坛网站被黑挂马的对比评测与安全加固

5步搞定发外链的论坛网站被黑挂马的对比评测与安全加固 网站突然打不开,浏览器直接弹出红色警告,或者打开后全是乱七八糟的博彩广告,后台还能看到陌生的管理员账号。这时候你慌不慌?90%的站长第一反应是重启服务器、改密码,结果第二天照样被黑。这种… · 2026/9/27 2:38:37

Vivado CORDIC IP核避坑指南:输入角度、输出位宽与AXI-Stream握手详解
Vivado CORDIC IP核避坑指南:输入角度、输出位宽与AXI-Stream握手详解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 2:38:07

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码