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

【git】-初始git

一、什么是版本控制?

 二、Git的安装

三、掌握Linux常用命令

四、Git基本操作

1、提交代码  

 2、查看历史提交

3、版本回退


一、什么是版本控制?

        版本控制是一种用于记录文件或项目内容变化的系统。它通过版本标识和版本历史记录来管理不同版本,作用包括备份与恢复文件、支持团队协作开发、追踪文件变更情况。

        【想象你在写一个故事,每次修改内容的时候,版本控制会帮你把之前的版本保存下来,还会给每个版本做个标记,它可以当作备份。要是你不小心把故事写坏了或者弄丢了,就能回到之前写得好的版本。要是很多人一起写这个故事(协作),它能协调大家的修改,防止混乱。比如两个人同时改一个地方,它会提醒你们商量一下怎么改。而且它会把这个故事从最开始到现在的修改过程都记录下来,你可以看看这个故事是怎么一步步变成现在这样的。

        把记录放在自己电脑里(本地),放在一个大家都能访问的中心服务器上(集中式),每个人自己电脑上都有完整的记录(分布式)】

         

 二、Git的安装

官网 Git - 安装 Git

查看自己电脑系统是多少位的,下载对应版本

按如下勾选:

注意 箭头所致会将git bash gitgui关联到鼠标右键,安装后点击鼠标右键会出现:

 

 

 

 

检查是否安装成功:

单击鼠标右键,点击git bash 

显示版本信息则安装成功!

三、掌握Linux常用命令

Linux命令大全-CSDN博客

右击鼠标 点击Git Bash,可进行操作

需要注意的是:

cd操作

pwd

ls操作

创建目录【增】 mkdir

新建文件【增】touch

修改文件【改】 vi或vim

四、Git基本操作

1、提交代码  

 ①创建一个文件夹 EG:git_biedeni

 ②鼠标右击 选择git bash 开启命令客户端(在哪个文件夹进入的 目录就在哪个文件夹)

 ③创建本地仓库       git init

运行成功后生成一个git文件夹,git 文件夹中含有

 ④查看本地仓库状态 git status

 ⑤日常开发流程模拟

再次git status,第二行提示有未追踪的文件test.py,可以用git add将要提交的内容包含进来

 ⑥ 提交修改至缓存区 git add

        将⑤中新的修改文件test.py提交至缓存区

查看仓库状态:

⑦删除缓存区修改记录 git rm --cached

 ⑧提交版本 git commit 将缓存区 的修改提交到版本库

git add 将修改内容提交到缓存区-->git commit 提交至版本库

 ⑨  ⑧ 显示没有Author ,需要配置Git的用户信息 记录谁完成了当前提交

输出信息表明  “在 master 分支上完成了仓库的第一次提交(根提交),提交信息为 learn git。你创建了一个新文件 test.py,并在其中添加了 1 行代码。”

全部代码:


86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_
$ git init
Initialized empty Git repository in D:/learnning resourci/.git/86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_
$ ls -al
total 0
drwxr-xr-x 1 86153 197121 0 Jan 10 17:08 ./
drwxr-xr-x 1 86153 197121 0 Jan 10 17:07 ../
drwxr-xr-x 1 86153 197121 0 Jan 10 17:08 .git/86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ git status
On branch masterNo commits yetnothing to commit (create/copy files and use "git add" to track)86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ touch test.py86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ vim test.py86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ git status
On branch masterNo commits yetUntracked files:(use "git add <file>..." to include in what will be committed)test.pynothing added to commit but untracked files present (use "git add" to track)86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ git add test.py
warning: in the working copy of 'test.py', LF will be replaced by CRLF the next time Git touches it86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ git status
On branch masterNo commits yetChanges to be committed:(use "git rm --cached <file>..." to unstage)new file:   test.py86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$  git rm --cached test.py
rm 'test.py'86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ git status
On branch masterNo commits yetUntracked files:(use "git add <file>..." to include in what will be committed)test.pynothing added to commit but untracked files present (use "git add" to track)86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ git add test.py
warning: in the working copy of 'test.py', LF will be replaced by CRLF the next time Git touches it86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ git commit -m "learn git"
Author identity unknown*** Please tell me who you are.Rungit config --global user.email "you@example.com"git config --global user.name "Your Name"to set your account's default identity.
Omit --global to set the identity only in this repository.fatal: unable to auto-detect email address (got '86153@hhh.(none)')86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$  git config --global user.email 3328133482@qq.com86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ git config --global user.name lxy86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ git commit -m"learn git"
[master (root-commit) de3960d] learn git1 file changed, 1 insertion(+)create mode 100644 test.py86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ git status
On branch master
nothing to commit, working tree clean86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$

 2、查看历史提交

查看所有版本信息 git log

显示更详细信息 git log --stat 

直接看到某个版本具体修改内容 git log -p

简单快速的查看版本库情况 git reflog

提交了2个版本,head指针指向 learn git 2 (即为当前工作区所在版本)

3、版本回退

版本号的由来:

 当前工作区为版本6

git reset  --hard HEAD^   或者git reset  --hard HEAD^^ 回退至上一版回退至上一版

git reset  --hard HEAD~2 回退至上上一版

可见回退至版本5

也可git reset --hard 版本号回退至指定版本

总结

内容很基础,认识了git是干什么的和一些基本的git操作,主要是掌握一些命令!熟能生巧把

相关文章:

【git】-初始git

一、什么是版本控制&#xff1f; 二、Git的安装 三、掌握Linux常用命令 四、Git基本操作 1、提交代码 2、查看历史提交 3、版本回退 一、什么是版本控制&#xff1f; 版本控制是一种用于记录文件或项目内容变化的系统。它通过版本标识和版本历史记录来管理不同版本&#…...

CSS 盒模型

盒模型 CSS盒模型是网页布局的核心概念之一&#xff0c;它描述了网页元素的物理结构和元素内容与周围元素之间的关系。根据W3C规范&#xff0c;每个HTML元素都被视为一个矩形盒子&#xff0c;这个盒子由以下四个部分组成&#xff1a; 内容区&#xff08;Content area&#xff…...

[0405].第05节:搭建Redis主从架构

Redis学习大纲 一、3主3从的集群配置&#xff1a; 1.1.集群规划 1.分片集群需要的节点数量较多&#xff0c;这里我们搭建一个最小的分片集群&#xff0c;包含3个master节点&#xff0c;每个master包含一个slave节点&#xff0c;结构如下&#xff1a; 2.每组是一主一从&#x…...

6 分布式限流框架

限流的作用 在API对外互联网开放的情况下&#xff0c;是无法控制调用方的行为的。当遇到请求激增或者黑客攻击的情况下&#xff0c;会导致接口占用大量的服务器资源&#xff0c;使得接口响应效率的降低或者超时&#xff0c;更或者导致服务器宕机。 限流是指对应用服务进行限制…...

sosadmin相关命令

sosadmin命令 以下是本人翻译的官方文档&#xff0c;如有不对&#xff0c;还请指出&#xff0c;引用请标明出处。 原本有个对应表可以跳转的&#xff0c;但是CSDN的这个[](#)跳转好像不太一样&#xff0c;必须得用html标签&#xff0c;就懒得改了。 sosadmin help 用法 sosadm…...

关于大数据的基础知识(四)——大数据的意义与趋势

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///计算机爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于大数据的基础知识&#xff08;四&a…...

【EI,Scopus检索 | 往届均已检索见刊】第四届智能系统、通信与计算机网络国际学术会议(ISCCN 2025)

重要信息&#xff1a; 大会官网&#xff1a;更多详情【论文投稿】 截稿时间&#xff1a;以官网信息为准 大会时间&#xff1a;2025年2月21-23日 接受/拒稿通知&#xff1a;投稿后3-5个工作日内 收录检索&#xff1a;EI&#xff0c;Scopus 出版信息&#xff1a; 本会议所有…...

smplx blender插件笔记

目录 liunx安装&#xff1a; liunx安装&#xff1a; pip install smplx 这个创建模型报错 SMPL_blender_addon...

【算法】移除元素

今天讲的是力扣题目的题解&#xff1a; 力扣题目&#xff1a; 72.移除元素 题目描述&#xff1a; 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不…...

【后端面试总结】设计一个分布式锁需要考虑哪些东西

分布式锁是我们在分布式场景中经常用到的一种技术&#xff0c;在后端面试中也是出镜率很高&#xff0c;那么我们设计分布式锁的时候应该从那几方面去考虑呢 实现分布式锁需要考虑的点 设置超时时间 设置超时时间的目的是为了避免这个场景&#xff1a;进程A拿了锁&#xff0c…...

awr报告无法生成:常见案例与解决办法

awr报告无法生成:常见案例与解决办法 STATISTICS_LEVEL设置过低数据库打开状态不对主库隐含参数设置错误MMON子进程被SuspendSYS模式统计信息过期WRH$_SQL_PLAN表数据量太大AWR绑定变量信息收集超时撞上数据库Bug 9040676STATISTICS_LEVEL设置过低 STATISTICS_LEVEL设置为BAS…...

Hadoop 生态之 kerberos

参考链接 https://winway.github.io/2022/04/02/kerberos-ranger/ https://ieevee.com/tech/2016/06/22/ranger-2.html kerberos解决”who are you“的问题 ranger解决”what you can do“的问题 LDAP 轻型目录访问协议&#xff08;英文&#xff1a;Lightweight Director…...

【文件I/O】文件持久化

这篇文章详细讲解的是 理解在Linux操作系统中输入/输出&#xff08;I/O&#xff09;编程与文件操作的关系。 在计算机编程中&#xff0c;输入/输出编程&#xff08;I/O 编程&#xff09; 是一个重要的概念&#xff0c;指的是通过程序与外部世界&#xff08;如用户输入、文件、…...

USB学习——基本概念

文章目录 USB&#xff08;Universal Serial Bus&#xff09;概述USB系统的描述USB总线传输方式USB的拓扑结构 USB的连接模型USB控制器及分类USB描述符USB 端点USB枚举过程USB 四种传输类型USB 事务批量传输(Bulk)中断传输(Interrupt)等时传输(Isochronous)控制传输(Control)端点…...

python-leetcode-三数之和

15. 三数之和 - 力扣&#xff08;LeetCode&#xff09; class Solution:def threeSum(self, nums: List[int]) -> List[List[int]]:nums.sort() # 排序n len(nums)res []for i in range(n):# 剪枝&#xff1a;如果当前数 > 0&#xff0c;三数之和不可能为 0if nums[i]…...

springboot整合拦截器

1.首先创建拦截器类&#xff1a; package com.example.interceptor;import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import org.sp…...

B树与B+树:数据库索引的秘密武器

想象一下&#xff0c;你正在构建一个超级大的图书馆&#xff0c;里面摆满了各种各样的书籍。B树和B树就像是两种不同的图书分类和摆放方式&#xff0c;它们都能帮助你快速找到想要的书籍&#xff0c;但各有特点。 B树就像是一个传统的图书馆摆放方式&#xff1a; 1. 书籍摆放&…...

Lua语言中常用的字符串操作函数

string.sub(s, i, j) 功能: 截取字符串 s 中从位置 i 到位置 j 的子字符串。 local s "Hello, Lua!" print(string.sub(s, 1, 5)) -- 输出 "Hello" print(string.sub(s, 8, 11)) -- 输出 "Lua!" string.len(s) 功能&#xff1a;将字符串长度…...

HOW - Form 表单确认校验两种模式(以 Modal 场景为例)

目录 一、背景二、具体1. 模式一&#xff1a;点击确认进行校验提示2. 模式二&#xff1a;确认按钮依赖于表单内容实现说明 一、背景 基于react、antd form分别实现如下两种模式&#xff1a; 1、一个 Modal&#xff0c;点击确认进行校验提示2、一个 Modal&#xff0c;确认按钮…...

LabVIEW部署Web服务

目录 LabVIEW部署Web服务1、创建项目2、创建Web服务3、新建WebVI3.1、使用GET方法3.2、使用POST方法 4、 部署和对应URL4.1、应用程序&#xff1a;80804.2、本地调试&#xff1a;80094.3、NI Web服务器&#xff1a;9090(禁用) 5、测试5.1、测试GET方法5.2、测试POST方法 6、实际…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统&#xff0c;智慧工地全套源码&#xff0c;java版智慧工地源码&#xff0c;支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求&#xff0c;提供“平台网络终端”的整体解决方案&#xff0c;提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;使用DevEco Studio作为开发工具&#xff0c;采用Java语言实现&#xff0c;包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

如何更改默认 Crontab 编辑器 ?

在 Linux 领域中&#xff0c;crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用&#xff0c;用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益&#xff0c;允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...

Linux 下 DMA 内存映射浅析

序 系统 I/O 设备驱动程序通常调用其特定子系统的接口为 DMA 分配内存&#xff0c;但最终会调到 DMA 子系统的dma_alloc_coherent()/dma_alloc_attrs() 等接口。 关于 dma_alloc_coherent 接口详细的代码讲解、调用流程&#xff0c;可以参考这篇文章&#xff0c;我觉得写的非常…...

车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...