当前位置: 首页 > news >正文

GIT 企业级开发学习 1_基本操作

本节主要命令:

git init

ls 不能列出 .git 

ls -a 列出 .git

创建本地仓库

1. 初始化 Git 仓库

git init

• 初始化一个新的 Git 仓库,在当前目录下生成一个 .git 隐藏文件夹,用于存储版本控制信息。

2. 查看隐藏文件

ls -a

• 使用 ls -a 显示隐藏文件,验证 .git 文件夹是否存在。

配置本地仓库

3. 配置用户信息

设置用户名和邮箱
 

git config user.name "liutao"git config user.email "123123@qq.com"

• 配置当前仓库的用户名和邮箱,用于标识提交记录的作者。

全局设置用户名和邮箱
 

git config --global user.name "liutao"git config --global user.email "123123@qq.com"

• 设置全局用户名和邮箱,适用于所有仓库。

• 全局配置会存储在 ~/.gitconfig 文件中。

4. 查看配置信息

git config -l

• 列出当前 Git 仓库的配置信息,包括用户名、邮箱以及仓库的核心配置。

5. 修改或删除配置

删除配置信息
 

git config --unset user.namegit config --unset user.email

• 删除当前仓库的用户名和邮箱配置。

(对应 没有加 global 的配置命令,加了 global 的配置会无法删除)

删除全局配置信息
 

git config --global --unset user.namegit config --global --unset user.email

• 删除全局的用户名和邮箱配置。

(对应加了 global 的配置命令)

6. 配置中容易出错的地方

引号错误

• 注意双引号或单引号要成对出现,例如:

git config user.name "liutao  "

而不是:

git config user.name "liutao'

命令拼写错误

• 如 gt 应为 git,--emait 应为 --email,需注意拼写。

多余字符或未完成命令

• 遇到 ^C 或 1 时,表示命令中途中断或未正确执行。

7. 配置验证

通过以下命令验证配置是否正确:

git config -l

确保输出的用户名和邮箱信息是你期望的内容。

8. 总结要点

• Git 的初始配置是进行版本控制的第一步,设置用户名和邮箱是必要的。

• 区分全局配置和当前仓库的配置,必要时使用 --global 或 --unset 修正。

• 运行 git config -l 验证设置,确保没有拼写错误或引号错误。

这些操作是 Git 基础,掌握后可以继续学习文件的添加、提交以及远程仓库的使用。

认识工作区

问:可以在.git 文件夹下创建ReadMe文件,使用版本库管理ReadMe

答:.git 文件夹是 Git 版本库的内部目录,主要用于存储 Git 的对象、配置、索引等信息。一般来说,不建议在 .git 文件夹内部创建和管理文件,比如 ReadMe,因为 .git 目录的内容是由 Git 自己维护的,手动修改可能会导致问题。

目前情况下,Git能否管理ReadMe文件??

添加文件

编辑一下README.md

index 存储 add 的暂存区文件;

HEAD 是 git 的指针,指向当前分支,分支 master 存储最新一次提交;

objects目录下的内容是 Git 存储的各种对象,主要包括 提交对象(commit,代表一次提交,记录 tree,作者,提交日期等信息)、树对象(tree,就是存储 目录结构) 和 blob(文件内容,不存储文件名和目录结构)。

commit操作

git log 

命令分析与解释

1. cat .git/HEAD

ref: refs/heads/main

• HEAD 指向 refs/heads/main,这意味着 HEAD 指向 main 分支。也就是说,当前操作的分支是 main。

2. cat .git/refs/heads/main

db4c5b23bab5b4df3cd68c821c0df30ff00dd177

• 这表示 main 分支 的最新提交(即提交哈希值为 db4c5b23bab5b4df3cd68c821c0df30ff00dd177)是当前分支的指向。

3. git log --pretty=oneline

db4c5b23bab5b4df3cd68c821c0df30ff00dd177 (HEAD -> main) commit 3 files

9080dfc599200764b50b382576f5c29d7e9ea8cc add first file

• main 分支存放的是当前分支的最新提交记录

• HEAD 是指向当前分支的指针,在我的情况下,HEAD 指向 main 分支。

• git log 命令显示了提交的历史,其中最新的提交(哈希值 db4c5b23bab5b4df3cd68c821c0df30ff00dd177)是当前的提交。

所有操作都是基于当前分支 main 和它的最新提交进行的。

注意 blob 哈希值前两位是文件夹的名称,比如:

100644 blob 8d0e41234f24b6da002d962a26c2495ea16a425f    README.md

使用 tree .git/ 命令发现:

objects
│   ├── 2d
│   │   └── f6e46812c6a5b2505368eb0e30342427ee7568
│   ├── 5e
│   │   └── b35199f283a64da21d7735ba0f5fb61d3e754e
│   ├── 6f
│   │   └── 750423942c286d0b7817c104dfaa46ced1ee33
│   ├── 8d
│   │   └── 0e41234f24b6da002d962a26c2495ea16a425f

相关文章:

GIT 企业级开发学习 1_基本操作

本节主要命令: git init ls 不能列出 .git ls -a 列出 .git 创建本地仓库 1. 初始化 Git 仓库 git init • 初始化一个新的 Git 仓库,在当前目录下生成一个 .git 隐藏文件夹,用于存储版本控制信息。 2. 查看隐藏文件 ls -a • 使用 ls …...

Computed在Vue2、Vue3写法的不同

在 Vue 2 和 Vue 3 中,computed 的写法有一些区别,特别是在 Vue 3 中新增了组合式 API 和 setup 语法糖。以下是不同写法的详细比较: 1. Vue 2 选项式 API 写法 在 Vue 2 中,computed 是一个选项,直接在 computed 对…...

Hive集群安装部署

上传安装包并解压 cd /ddhome/tools tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /ddhome/bin/ cd /ddhome/bin/ mv apache-hive-3.1.2-bin hive注意:如果Hive要使用Spark计算引擎,需要重新编译Hive, 这里已经编译完毕 修改配置文件 cd …...

卸载干净 IDEA(图文讲解)

目录 1、卸载 IDEA 程序 2、注册表清理 3、残留清理 1、卸载 IDEA 程序 点击屏幕左下角 Windows 图标 -> 设置-控制面板->intellij idea 勾选第一栏 Delete IntelliJ IDEA 2022.2 caches and local history,表示同时删除 IDEA 本地缓存以及历史。 Delete I…...

Gitea代码仓服务搭建

特点与优势 轻量级:Gitea是一个轻量级的Git服务,提供了快速、稳定的代码托管和协作开发环境。它资源占用低,适合在资源受限的环境中运行。易于安装和部署:Gitea提供了简单易用的安装和部署方式,支持多种安装方式,包括二进制文件、Docker容器等,并提供了详细的文档和配置…...

什么情况会导致JVM退出?

大家好,我是锋哥。今天分享关于【什么情况会导致JVM退出?】面试题。希望对大家有帮助; 什么情况会导致JVM退出? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 JVM(Java Virtual Machine,Java虚…...

docker 安装influxdb

docker pull influxdb mkdir -p /root/influxdb/data docker run -d --name influxdb -p 8086:8086 -v /root/influxdb/data:/var/lib/influxdb influxdb:latest#浏览器登录:http://192.168.31.135:8086,首次登录设置用户名密码:admin/admin1…...

TLS: WebRTC中ThreadManager的线程局部存储

1. 什么是线程局部存储: 线程局部存储(TLS,Thread-Local Storage): 线程局部存储(TLS)允许每个线程保存一份独立的数据副本,避免多个线程共享数据导致的竞争问题。 每个线程可以根…...

[Qt] 万字详解 | 常用控件 | Button | Label | LCD | ProgressBar

目录 按钮类控件 1、Push Button 按钮 2、Radio Buttion 单选 click、press、release、toggled 的区别 3、Check Box 复选 4、Tool Button 显示类控件 1、Label 2、LCD Number 3、ProgressBar 4、Calendar Widget 按钮类控件 1、Push Button 按钮 概述&#xff1a…...

【数据仓库】hadoop3.3.6 安装配置

文章目录 概述下载解压安装伪分布式模式配置hdfs配置hadoop-env.shssh免密登录模式设置初始化HDFS启动hdfs配置yarn启动yarn 概述 该文档是基于hadoop3.2.2版本升级到hadoop3.3.6版本,所以有些配置,是可以不用做的,下面仅记录新增操作&#…...

ffmpeg八大开发库

‌FFmpeg八大库‌是指FFmpeg项目中最重要的八个库,它们各自承担不同的功能,共同构成了FFmpeg的强大功能。以下是这八大库的详细介绍: ‌libavcodec‌:负责音频和视频的编解码。它支持多种编解码器,如H.264、AAC、MP3、…...

Uniapp中使用`wxml-to-canvas`开发DOM生成图片功能

Uniapp中使用wxml-to-canvas开发DOM生成图片功能 在移动端开发中,生成图片是一个常见需求,例如用于分享海报、生成动态二维码等。在Uniapp框架中,我们可以通过wxml-to-canvas插件轻松实现将DOM转化为图片的功能。本文将详细介绍如何在Uniapp…...

【09】深入解析 Three.js 官网示例:下雪粒子特效与场景渲染的实现(webgpu_compute_particles_snow.html)

引言 Three.js 是一个强大的 JavaScript 库,用于在网页上创建和渲染 3D 场景。本文将深入分析一段 Three.js 官网示例代码,详细解释其实现思路和主要功能代码,帮助读者更好地理解和掌握 Three.js 的应用。官网代码地址:https://g…...

电子价签会是零售界的下一个主流?【新立电子】

电子价签,作为一种能够替代传统纸质标签的数字显示屏,已经在零售行业中展现出其巨大的潜力。它具有实时更新、集中管理、高效节能的特点,实现价格的实时更新,大大减少更新价格的工作量和时间。为消费者带来更加便捷、准确的购物体…...

uniapp——App下载文件,保存、打开文件(二)

uniapp如何下载文件、保存、打开文件 时光荏苒,2024即将过去! 迈向2025,祝大家新的一年工作顺利、万事如意,少一点BUG,涨一点工资…↖(ω)↗ 文章目录 uniapp如何下载文件、保存、打开文件下载文件保存并打开文件处理 …...

如何轻松关闭 iPhone 上的 HEIC [HEIC 图像技巧]

您是否正在为关闭 iPhone 上的 HEIC 而烦恼?你不是一个人; Apple 的首选图像文件格式仍可能存在一些兼容性问题。当您与某人共享照片或尝试在Windows计算机上打开图像时,就会出现此问题。幸运的是,Apple 使关闭 HEIC iPhone 变得更加容易。 …...

库伦值自动化功耗测试工具

1. 功能介绍 PlatformPower工具可以自动化测试不同场景的功耗电流,并可导出为excel文件便于测试结果分析查看。测试同时便于后续根据需求拓展其他自动化测试用例。 主要原理:基于文件节点 coulomb_count 实现,计算公式:电流&…...

[paddle] 非线性拟合问题的训练

利用paddlepaddle建立神经网络,模拟有限个数据的非线性拟合 本文仍然考虑 f ( x ) sin ⁡ ( x ) x f(x)\frac{\sin(x)}{x} f(x)xsin(x)​ 函数在区间 [-10,10] 上固定数据的拟合。 import paddle import paddle.nn as nn import numpy as np import matplotlib.…...

Vue2: table加载树形数据的踩坑记录

table中需要加载树形数据,如图: 官网给了两个例子,且每个例子中的tree-props都是这么写的: :tree-props="{children: children, hasChildren: hasChildren}" 给我一种错觉,以为数据结构中要同时指定children和hasChildren字段,然而,在非懒加载模式下,数据结…...

全国计算机设计大赛大数据主题赛(和鲸赛道)经验分享

全国计算机设计大赛大数据主题赛(和鲸赛道)经验分享 这是“和鲸杯”辽宁省普通高等学校本科大学生计算机设计竞赛启动会汇报—大数据主题赛的文档总结。想要参加2025年此比赛的可以借鉴。 一、关于我 人工智能专业 计赛相关奖项: 2022年计…...

C# 设计模式(行为型模式):责任链模式

C# 设计模式(行为型模式):责任链模式 责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,用于让多个对象有机会处理同一个请求,避免请求发送者与接收者之间的耦合。它通过将请…...

人工智能之机器学习算法

所有的机器学习算法都是要优化的,优化的必要条件是确定优化的目标函数(损失函数),目标函数是根据实际问题(数据)转成的数学公式。 一.线性回归原理推导 (1)回归问题概述 在机器学习的有监督算法中,分类与回归二种情…...

17爬虫:关于DrissionPage相关内容的学习01

概述 前面我们已经大致了解了selenium的用法,DerssionPage同selenium一样,也是一个基于Python的网页自动化工具。 DrissionPage既可以实现网页的自动化操作,也能够实现收发数据包,也可以把两者的功能合二为一。 DressionPage的…...

Ubuntu如何安装jdk并切换到不同的jdk版本

参考:https://www.cnblogs.com/Jakson/articles/4615768.html 摘要 :因为ubuntu 会自带open-jdk预装在系统内,当我们需要在 ubuntu下 安装jdk 的时候 ,发现 即使配置好环境变量后 输入 java -version 版本还是依然没有发生变化,我们需要以下2个步骤切换/usr/local/…...

Python基础语法(上)

目录 一、print函数及常量表达式 1.print函数 2.常量表达式 二、变量 1.定义变量的规则 2.python的动态类型特性 3.字符串 三、注释 四、input函数 1.input函数 2.变量类型转换 五、运算符 1.算数运算符 2.关系运算符 (1)整形的比较 &am…...

k8s系列--docker拉取镜像导入k8s的containerd中

# 确认一下当前集群中正在运行的 Pod 和命名空间 kubectl get pods -A# 示例一:拉取并导入 CoreDNS 镜像 docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.11.1 docker save registry.cn-hangzhou.aliyuncs.com/google_containers/cor…...

深入理解 Android 中的 ComponentInfo

深入理解 Android 中的 ComponentInfo 在 Android 开发中,ComponentInfo 是一个非常重要的类,它用于描述应用程序中的组件信息,包括 Activity、Service、BroadcastReceiver 和 ContentProvider。理解 ComponentInfo 的结构和使用方式&#x…...

阿里云 ECS 服务器绑定多个公网IP

阿里云 ECS 服务器绑定多个公网IP 一、弹性公网IP绑定ECS服务器 单台ECS一般只能直接绑定一个弹性公网IP,但是可以绑定多张弹性网卡,如果把弹性公网IP绑定到弹性网卡上,那么单台ECS就能间接绑定多个弹性公网IP。但有的服务器系统镜像可能不…...

模块化通讯管理机在物联网系统中的应用

安科瑞刘鸿鹏 摘要 随着能源结构转型和智能化电网的推进,电力物联网逐渐成为智能电网的重要组成部分。本文以安科瑞ANet系列智能通信管理机为例,探讨其在电力物联网中的应用,包括数据采集、规约转换、边缘计算、远程控制等技术实践&#…...

Kafka Offset explorer使用

Kafka集群配置好以后以后运维这边先用工具测试一下,便于rd展开后续的工作,本地调试时一般使用Offset explorer工具进行连接 使用SASL(Simple Authentication and Security Layer)验证方式 使用SCRAM-SHA-256(Salted Challenge Response Authentication…...

小程序学习07—— uniapp组件通信props和$emit和插槽语法

目录 一 父组件向子组件传递消息 1.1 props (a)传递静态或动态的 Prop (b)单向数据流 二 子组件通知父组件 2.1 $emit (a)定义自定义事件 (b)绑定自定义事件 三 插槽语法…...

行为模式1.模板方法模式

行为型模式 模板方法模式(Template Method Pattern)命令模式(Command Pattern)迭代器模式(Iterator Pattern)观察者模式(Observer Pattern)中介者模式(Mediator Pattern…...

【模型】Qwen2-VL 服务端UI

1. 前言 最近在测试VLM模型,发现官方的网页demo,代码中视频与图片分辨率可能由于高并发设置的很小,导致达不到预期效果,于是自己研究了一下,搞了一个简单的前端部署,自己在服务器部署了下UI界面&#xff0…...

ImageNet 2.0?自动驾驶数据集迎来自动标注新时代

引言: 3DGS因其渲染速度快和高质量的新视角合成而备受关注。一些研究人员尝试将3DGS应用于驾驶场景的重建。然而,这些方法通常依赖于多种数据类型,如深度图、3D框和移动物体的轨迹。此外,合成图像缺乏标注也限制了其在下游任务中的…...

京东一面:MySQL 主备延迟有哪些坑?主备切换策略

作为一名开发同学,大家对 MySQL 一定不陌生,像常见的 事务特性、隔离级别 、索引等也都是老生常谈。 今天,我们就来聊个深度话题,关于 MySQL 的 高可用 一、什么是高可用? 维基百科定义: 高可用性&#x…...

Linux(Ubuntu24.04)安装Eigen3库

本次安装Eigen3是在WSL2的Ubuntu24.04环境下进行。 Eigen3是一个C模板库,用于线性代数、矩阵运算和数值计算。它提供了一组高性能的矩阵和向量操作,以及常用的线性代数算法,如矩阵分解、特征值求解和最小二乘解等。 1、安装Eigen3 有两种安…...

ABP框架8——仓储的作用及其基础Demo

一、使用仓储的好处 1.提高CRUD接口复用性2.解耦业务逻辑(BLL)和增删改查(CRUD),换ORM特别方便,不需要改应用层,直接改仓储层3.做复杂查询4.事务支持 二、Demo public class BookRepository …...

【Multisim用74ls92和90做六十进制】2022-6-12

缘由Multisim如何用74ls92和90做六十进制-其他-CSDN问答 74LS92、74LS90参考...

利用KPaaS平台提升企业审批流程的透明度

企业的审批流程不仅影响决策效率,还直接关联到组织的透明度和运营效果。传统的审批流程通常由多个环节和系统构成,每一个环节都可能存在信息不对称的现象。例如,某一审批节点的负责人可能并不清楚当前的审批状态,而在其他环节&…...

Python 数据可视化的完整指南

目录 一、为什么选择 Python 进行数据可视化? 二、常用 Python 可视化库及其特点 三、常用图表类型及其代码示例 折线图:用于展示数据随时间或其他连续变量的变化趋势。 柱状图:用于比较不同类别的数据大小。 散点图:用于展示两个变量之间的关系,并发现数据中的模式…...

ZYNQ初识7(zynq_7010)RAM_IP核

学习汇总正点原子bi站教学视频。但由于目前的学习板PL端缺乏时钟晶振,所以需要从PS端调用时钟供给PL端使用,也就造成顶层文件的设置出现一些问题,在IP核创建调用和例化过程中一些功能会受到限制,所以以下仅作汇总参考。 zynq_7000…...

.e01, ..., .e0n的分卷压缩包怎么解压

用BandiZip,这些分卷压缩中还有一个.exe的文件,这个不是可执行文件,是一个解压缩的开头。 安装好bandiZip后,右键这个.exe文件 点击打开就是开始解压了: 最后解压后是这些。然后一个个再次解压....

linux网络管理

网络配置文件 网卡信息文件 :::color3 /etc/sysconfig/network-scripts ::: 配置描述DEVICE网卡设备名-必填BOOTPROTO必填:none,static(静态 IP),dhcp(动态 IP)HWADDRMAC 地址NM_CONTROLLED是否启用Network Manager图形管理工具,建议 noONBOOT是否默认…...

宽带、光猫、路由器、WiFi、光纤之间的关系

1、宽带(Broadband) 1.1 宽带的定义宽带指的是一种高速互联网接入技术,通常包括ADSL、光纤、4G/5G等不同类型的接入方式。宽带的关键特点是能够提供较高的数据传输速率,使得用户可以享受到稳定的上网体验。 1.2 宽带的作用宽带是…...

Momentum Contrast for Unsupervised Visual Representation Learning论文笔记

文章目录 论文地址动量队列对比学习的infoNCE loss为什么需要动量编码器对比学习moco方法中的动量Encoder为什么不能与梯度Encoder完全相同为什么动量编码器和梯度编码器不能完全相同?总结: 我理解,正负样本应该经过同一个encoder&#xff0c…...

linux-26 文件管理(四)install

说一个命令,叫install,man install,install是什么意思?安装,install表示安装的意思,那你猜install是用来干什么的?猜一猜干什么的?安装软件,安装第三方软件,错…...

day-104 组合总和 Ⅳ

思路 动态规划 解题过程 假设dfs(target)表示组成target的组合数,可得转换方程dfs(target)dfs(target-nums[0])dfs(target-nums[1])…以此类推 注意:nums[i]需要小于等于当前的target Code class Solution {public int combinationSum4(int[] nums, i…...

Gitlab-runner 修改默认的builds_dir并使用custom_build_dir配置

gitlab-runner 修改默认的builds_dir并使用custom_build_dir配置 1. 说明2. 实操(以docker执行器为例)2.1 修改默认的builds_dir2.1.1 调整gitlab-runner的配置文件2.1.2 CI文件 2.2 启用custom_build_dir2.2.1 调整gitlab-runner的配置文件2.2.2 CI文件…...

代码随想录算法训练营day21

代码随想录算法训练营 —day21 文章目录 代码随想录算法训练营前言一、669. 修剪二叉搜索树递归法迭代法 二、108.将有序数组转换为二叉搜索树递归法迭代法 三、538.把二叉搜索树转换为累加树递归法 总结 前言 今天是算法营的第21天,希望自己能够坚持下来&#xf…...

苹果系统MacOS下ObjectC建立的App程序访问opencv加载图片程序

前言 苹果系统下使用opencv感觉还是有些不太方便,总是感觉有点受到限制。本博客描述的是在MacOS下建立App程序然后调用opencv显示图片时出现的一些问题并最后解决的一个过程。 一、程序的建立 选择程序的类型: 选择界面模式和编程语言: 其余…...