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

Git的一些简单使用

下列内容适用于git初学者,从创建本地git仓库到提交的一个基本过程1.
1.创建git仓库

在想创建git仓库的路径下打开git bash,输入以下命令行创建仓库(一般来说,我觉得直接在code workspace得地方创建git仓库就可以了,这样commit代码得时候也不用先付知道git仓库所在得文件夹下)

git init

将会生成一个.git文件夹(如果没有发现,说明这个文件夹被隐藏了,但还是存在的) 

2.提交要保存的文件

可以先把要提交的文件放到.git仓库所在的文件夹下,然后运行下面的命令:

git add 要上传的文件

这样是上传到缓存区,相当于只是先把文件放上去,等到最后提交到仓库中

3. 提交到仓库中,加上备注

git commit -m "file is updated" (这里的-m 是message的意思)

都提交上去之后,显示working tree clean,也就是没有什么待提交的了

4.查看提交记录

git log简洁显示_git log简单显示-CSDN博客

5.回退到某一版本

git  reset --hard <commit hash>

6.把某个版本的从git仓库中拉下来,这里注意:如果拉下来的文件路径所在的文件夹中有一个文件和被拉下来的文件重名,比如从git中拉下来的文件为“file.txt”,然后path/to/file这个路径下也有个“file.txt”,那么就会被拉下来的文件直接覆盖。所以建议path/to/file是一个专门保留从git上拉下来的内容的路径。

7. git status

git的目的就是:及时的检测更改,就是为了让你能够把不同版本的代码及时的保存提交,所以git status也只会对可能会影响此结果的事情进行提示,比如可能要提交的文件的修改才会在git status中显示,或者虽然是被提交的文件,但是如果没有修改后再次add,也不会再git status中显示。

8.通常的使用流程

(1)git add 提交代码

(3)git commit提交到本地仓库

(4)版本回退:git status 看下有没有未提交的修改,确保提交了未提交的修改后再git reset --hard <commit ID> (或者如果未提交的修改是无用的,直接reset也无妨)

这里注意,在git reset之前一定要用git status检查下距离上次提交后做了哪些更改,但还没有add 和 commit的内容,可以用git diff <file_path>来看做了哪些修改, 否则reset之后会被直接覆盖掉,无法保存!!!!也就是说,每次reset前都要检查下是否有为保存的更改。

或者是做好备份再进行reset!!!!!

9. 本地版本管理,怎么把git commit的文件再下载到本地:

在git仓库所在目录下,运行:

git archive -o exported.zip <commit_hash> > /dev/null

exported.zip 导出的压缩文件的名称,这个命令是可以设置导出的文件类型和其它一些具体细节的,具体用的时候再查吧。

这样,在git仓库路径下就生成了一个exported.zip的压缩文件,存储了commit时的版本。

但是好像如果不在.git目录下之执行此命令,也能生成exported.zip,但里面没有内容 

注意!!!

git archive -o exported.zip <commit_hash> > /dev/null

这个要是不行,用下面的命令,直接用下面的命令

git archive -o exported.zip <commit_hash>

相关文章:

Git的一些简单使用

下列内容适用于git初学者&#xff0c;从创建本地git仓库到提交的一个基本过程1. 1.创建git仓库 在想创建git仓库的路径下打开git bash&#xff0c;输入以下命令行创建仓库&#xff08;一般来说&#xff0c;我觉得直接在code workspace得地方创建git仓库就可以了&#xff0c;这…...

C++基础语法(下)

前言 上一篇文章介绍了部分的引用&#xff0c;这里主要对引用的特点&#xff0c;引用与指针区别的进行区分&#xff0c;const引用权限的使用&#xff0c;内联函数的讲解。 引用特性 引用在定义时必须进行初始化一个变量可以有多个引用引用一旦引用一个实体&#xff0c;再不能…...

UKP3d创建斜管的操作

用户问&#xff1a;需要插入两个60的弯头&#xff0c;怎么操作啊&#xff1f; 以前我的回复算X,Y,Z相对空间坐标&#xff0c;适用于任何情况&#xff0c;有些难为用户。若是非特定角度&#xff0c;算起来又要下一翻功夫。 在UKP3d里提供了吸附任意角度的功能&#xff0c;任意角…...

【已解决】如何获取到DF数据里最新的调薪时间,就是薪资最高且时间最早?

问题说明&#xff1a; 前几天在Python最强王者交流群【群除我佬】问了一个Pandas处理的问题&#xff0c;这里拿出来给大家分享下。 看上去不太好理解&#xff0c;其实说白了&#xff0c;就是在工资最高里&#xff0c;再找时间最早的。 换句话说就是&#xff0c;这三个人&…...

PyQt5入门

Python中经常使用的GUI控件集有PyQt、Tkinter、wxPython、Kivy、PyGUI和Libavg。其中PyQt是Qt(c语言实现的)为Python专门提供的扩展 PyQt是一套Python的GUI开发框架,即图形用户界面开发框架.。而在Python中则使用PyQt这一工具包&#xff08;PyQt5、PyQt5-tools、PyQt5-stubs&am…...

算法力扣刷题记录 六十九【动态规划基础及509. 斐波那契数】

前言 调整一下做题顺序&#xff0c;多个章节同步进行&#xff0c;穿插练习。可以在各章节的专栏中找同一类。 记录 六十九【动态规划基础】。 一、动态规划理论基础学习 参考学习链接 二、509. 斐波那契数 2.1 题目阅读 斐波那契数 &#xff08;通常用 F(n) 表示&#x…...

如何利用Python进行数据分析

在当今这个大数据时代&#xff0c;数据分析已经成为了各行各业都非常重视的技能。而Python作为一门强大且易学的编程语言&#xff0c;成为了数据分析领域的主流工具之一。那么&#xff0c;如何利用Python进行数据分析呢&#xff1f; 一、安装Python及数据分析库 首先&#xf…...

如何判断机器学习模型的好坏之LIME和SHAP

LIME(Local Interpretable Model-agnostic Explanations)和SHAP(SHapley Additive exPlanations)是两种广泛使用的模型可解释性技术,旨在帮助理解复杂机器学习模型的决策过程。 LIME LIME (Local Interpretable Model-agnostic Explanations) 是一种技术,用于解释任何机…...

Android 是如何进行内存管理的

目录 1. 垃圾回收 (Garbage Collection)2. 内存分配3. 内存泄漏检测4. 内存优化5. 内存抖动 (Memory Churn)6. 内存警告 (Memory Warning)7. 内存分页 (Memory Paging)8. 内存分段 (Memory Segmentation)9. 内存压缩 (Memory Compaction)10. 内存分区 (Memory Partitioning)11.…...

【CSDN平台BUG】markdown图片链接格式被手机端编辑器自动破坏(8.6 已修复)

文章目录 bug以及解决方法bug原理锐评后续 bug以及解决方法 现在是2024年8月&#xff0c;我打开csdn手机编辑器打算修改一下2023年12月的一篇文章&#xff0c;结果一进入编辑器&#xff0c;源码就变成了下面这个样子&#xff0c;我起初不以为意&#xff0c;就点击了发布&#…...

WPF学习(4)- VirtualizingStackPanel (虚拟化元素)+Canvas控件(绝对布局)

VirtualizingStackPanel虚拟化元素 VirtualizingStackPanel 类&#xff08;虚拟化元素&#xff09;和StackPanel 类在用法上几乎差不多。其作用是在水平或垂直的一行中排列并显示内容。它继承于一个叫VirtualizingPanel的抽象类&#xff0c;而这个VirtualizingPanel抽象类继承…...

SQL约束

目录 1.常见的SQL约束 1.1 添加主键约束 1.2 单独添加主键约束 1.3 删除主键约束 1.4 设置自动增长 2.添加非空约束 3.添加唯一约束 4.添加默认值约束 我们已知道&#xff0c;创建数据表语法&#xff1a; create table 表名(字段名1 数据类型(长度) [约束],字段名…...

lombok使用@slf4j 运行时提示找不到符号log(Missing POM for org.projectors:lombok:jar)

1.问题表现 原本是之前搭建好的工程&#xff0c;只是换了个开发环境重新启动就不行了。一直编译不通过&#xff01; 可以看到IDEA其实是引入了依赖的 都没有出现红色波浪线 <mapstruct.version>1.5.5.Final</mapstruct.version> <lombok.version>1.18.30<…...

21. 合并两个有序链表(递归)

目录 一;题目&#xff1a; 二代码; 三&#xff1a;结果&#xff1a; 一;题目&#xff1a; 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 二代码; /*** Definition for singly-linked list.* struct ListNode {* …...

学习vue3 三,组件基础,父子组件传值

组件基础 每一个.vue 文件都可以充当组件来使用 每一个组件都可以复用 父组件引入之后可以直接当标签使用 案例&#xff1a; App.vue <script setup lang"ts"> import BaseRefAndReactive from "./components/BaseRefAndReactive.vue";</sc…...

月木学途开发 2.项目架构

1.项目介绍 月木学途是一款it在线学习网站&#xff0c;项目采用前后端分离架构。前端开发主要使用vue.js&#xff0c;后端使用Spring Cloud Alibaba技术栈。项目包含学习网站的大部分功能&#xff0c;分为管理员端和用户端。管理员端有权限管理、课程管理、网站管理、求职模块管…...

FPGA开发——按键控制数码管的设计

一、概述 按键控制数码管是一种常见的电子显示技术&#xff0c;它结合了按键输入与数码管显示的功能。在这一设计中&#xff0c;用户通过按下不同的按键来发送指令&#xff0c;这些指令随后被处理并转换为数码管上显示的数字或字符。按键通常作为输入设备&#xff0c;通过电路…...

【AI学习】[2024北京智源大会]具身智能:具身智能关键技术研究:操纵、决策、导航

具身智能关键技术研究&#xff1a;操纵、决策、导航 董 豪 | 北京大学助理教授 依然是边看边做些记录 这张图的重点是在说&#xff0c;我们的大脑&#xff0c;也是不同的部分处理不同的功能。这里面有些功能&#xff0c;比如视觉、听觉理解等功能&#xff0c;LLM已经具备&…...

C语言实现UDP广播

UDP 广播发送方 1.创建套接字&#xff1a;使用socket()函数创建一个UDP套接字。 2.设置套接字选项&#xff1a;使用setsockopt()函数设置SO_BROADCAST选项以允许广播。 3.发送数据&#xff1a;使用sendto()函数将数据发送到特定的广播地址和端口。 #include <stdio.h> …...

速记Java八股文——Redis 篇

前言 分类汇总 50 常见的 Redis 篇 经典后端面试题&#xff0c;并对题目进行了精炼总结&#xff0c;旨在帮助大家高效记忆&#xff0c;在面试中游刃有余&#xff0c;不至于陷入词穷的窘境。 Redis 篇 什么是Redis? Redis是一个开源的内存数据结构存储系统&#xff0c;可用作数…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit&#xff08;传感器服务&#xff09;# 前言 在运动类应用中&#xff0c;运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据&#xff0c;如配速、距离、卡路里消耗等&#xff0c;用户可以更清晰…...