Git命令行入门
诸神缄默不语-个人CSDN博文目录
之前写过一篇VSCode + Git的博文:VSCode上的Git使用手记(持续更新ing…)
现在随着开发经历增加,感觉用到命令行之类复杂功能的机会越来越多了,所以我专门再写一篇Git命令行的文章。
Git官网:https://git-scm.com/
Git下载和安装过程挺简单的,我下次再在新电脑上安Git的时候再专门写一篇博文。
在正常使用Git之前需要先配置用户名和邮箱:
git config --global user.name "您的用户名"
git config --global user.email "您的邮箱"
Git命令可以在cmd中执行,也可以在Git bash中执行。跟cmd一样,直接在文件浏览器地址栏输入git bash就能在打开该路径下的Git bash。
我个人的体验是Git bash比cmd好用。
文章目录
- 1. 初始化Git项目
- 2. Git工作流程
- 1. 本地
- 2. 远程
- 3. 搭建本地Git服务器流程
- 4. Off-the-shelf Git服务器
- 5. 忽略当前文件夹中的指定文件:.gitignore
- 5. 修改Git bash文本编码格式
1. 初始化Git项目
git init:运行后就会开始版本管理这个文件夹
2. Git工作流程
1. 本地
- 将修改的文件加到缓存区(stage):
git add - 将缓存区文件放回去:
git reset
回退到指定commit id之前版本的仓库:git reset --hard <指定commit_id> - 从缓存区提交文件到本地仓库:
git commit
2. 远程
GitHub上处理私有仓库需要配置秘钥,这部分可参考:https://blog.csdn.net/PolarisRisingWar/article/details/144669022
- 添加远程仓库:
git remote add <远程仓库名> <仓库URL>
origin是远程仓库的默认名称 - 修改远程仓库URL:
git remote set-url <远程仓库名> <新仓库URL> - 从远程仓库拉取代码版本到本地并进行合并:
git pull
这个代码实际上是两步:git fetch:从远程仓库拉取代码版本(就是知道一下远程有什么本地没有的东西)git merge:将远程仓库的代码版本合并到本地仓库- 合并二进制文件冲突的问题可参考我写的另一篇博文来解决:https://blog.csdn.net/PolarisRisingWar/article/details/138790764
git push <远程仓库名> <branch>:把本地代码推送到远程仓库
示例:git push origin mastergit clone:将Git服务器管理的仓库直接拉到本地
用SSH克隆的教程可参考我写的另一篇博文:https://blog.csdn.net/PolarisRisingWar/article/details/132713802- 设置代理(主要是用于GitHub):
git config --global http.proxy IPv4地址:7890 git config --global https.proxy IPv4地址:7890 - 删除代理:
git config --global --unset http.proxy git config --global --unset https.proxy
3. 搭建本地Git服务器流程
因为普通的仓库有工作目录,不适合直接作为服务器接收push,所以需要设置一个裸仓库(bare repository)。
裸仓库没有工作目录,更适合作为中央仓库。
用一个空文件夹作为裸仓库:git init --bare D:\proj1_bare.git
如果出现如下报错信息:
'git-receive-pack' 不是内部或外部命令,也不是可运行的程序或批处理文件。
将Git安装路径中的Git\mingw64\bin(即git-receive-pack.exe文件所处的文件夹)的路径添加到系统变量Path中。添加系统变量这事我好像在Java安装之类的博文里面写好几遍了,此略。
我之前本来想研究一下搭建远程服务器的,但是一直没搞出来,总之如果在本地的话直接就可以:
在本地仓库中:git remote add bare_repo D:\proj1_bare.git 添加远程仓库
在其他文件夹中就可以正常实现各种Git远程仓库的相关功能了:git clone D:\proj1_bare.git
4. Off-the-shelf Git服务器
- Git Daemon
- https://gitlab.cn/install/
- Gitea
- Gitee
- Gogs
- Gitblit
- https://gitstack.com/:Windows服务器
5. 忽略当前文件夹中的指定文件:.gitignore
就是新建一个文本文件,命名为.gitignore,在里面写的文件/文件夹就不会被Git追踪。
我之前专门写过.gitignore文件的教程:Git的.gitignore文件详解与常见用法
5. 修改Git bash文本编码格式
当出现中文乱码的时候会用得到的:
- 在git bash标题栏右键,点击Options

- 进入Text,Character Set选择GBK:

相关文章:
Git命令行入门
诸神缄默不语-个人CSDN博文目录 之前写过一篇VSCode Git的博文:VSCode上的Git使用手记(持续更新ing…) 现在随着开发经历增加,感觉用到命令行之类复杂功能的机会越来越多了,所以我专门再写一篇Git命令行的文章。 G…...
pdf-extract-kit paddle paddleocr pdf2markdown.py(效果不佳)
GitHub - opendatalab/PDF-Extract-Kit: A Comprehensive Toolkit for High-Quality PDF Content Extraction https://github.com/opendatalab/PDF-Extract-Kit pdf2markdown.py 运行遇到的问题: 错误: -------------------------------------- C Tra…...
Android 10.0 移除wifi功能及相关菜单
介绍 客户的机器没有wifi功能,所以需要删除wifi相关的菜单,主要有设置-网络和互联网-WLAN,长按桌面设置弹出的WALN快捷方式,长按桌面-微件-设置-WLAN。 修改 Android10 上直接将config_show_wifi_settings改为false,这样wifi菜单的入口就隐…...
什么是Dubbo?Dubbo框架知识点,面试题总结
本篇包含什么是Dubbo,Dubbo的实现原理,节点角色说明,调用关系说明,在实际开发的场景中应该如何选择RPC框架,Dubbo的核心架构,Dubbo的整体架构设计及分层。 主页还有其他的面试资料,有需要的可以…...
Django+Vue3全栈开发实战:从零搭建博客系统
文章目录 1. 开发环境准备2. 创建Django项目与配置3. 设计数据模型与API4. 使用DRF创建RESTful API5. 创建Vue3项目与配置6. 前端页面开发与组件设计7. 前后端交互与Axios集成8. 项目优化与调试9. 部署上线10. 总结与扩展10.1 项目总结10.1.1 技术栈回顾10.1.2 项目亮点 10.2 扩…...
双重差分学习笔记
双重差分适用的研究场景: 研究某项政策或者冲击造成的影响 例如,某某小学在2024.12.12日颁布了小红花激励措施,我们要研究这项措施对学生成绩的影响,此时,就可以使用双重差分模型。 双重差分适用的数据类型…...
python组备赛笔记(基础篇)
小数输出 1、代码示例: print(jc,%.3f%fc) 输出格式: 890 86075.959 2、代码示例: print(f%.3f%b) 输出格式: 1.000 金字塔输出 1、代码示例: n 5 t * for i in range(1,n1):print(f{t*(2*i-1):^{2*n-1}}) fo…...
从零开始构建一个小型字符级语言模型的完整详细教程(基于Transformer架构)
最近特别火的DeepSeek,是一个大语言模型,那一个模型是如何构建起来的呢?DeepSeek基于Transformer架构,接下来我们也从零开始构建一个基于Transformer架构的小型语言模型,并说明构建的详细步骤及内部组件说明。我们以构建一个字符级语言模型(Char-Level LM)为例,目标是通…...
XUnity.AutoTranslator-Gemini——调用Google的Gemini API, 实现Unity游戏中日文文本的自动翻译
XunityAutoTranslator-Gemini-API 本项目是一个使用 Flask 框架和 Google Gemini GenAI 模型构建的 Web API 服务,用于将日文unity游戏文本翻译成简体中文。 日文游戏文本AI翻译API (基于Google Gemini) 本项目是一个使用 Flask 框架和 Google Gemini GenAI 模型…...
中文Build a Large Language Model (From Scratch) 免费获取全文
中文pdf下载地址:https://pan.baidu.com/s/1aq2aBcWt9vYagT2-HuxdWA?pwdlshj 提取码:lshj 原文、代码、视频项目地址:https://github.com/rasbt/LLMs-from-scratch 翻译工具:沉浸式翻译(https://app.immersivetrans…...
DeepSeek 助力 Vue 开发:打造丝滑的瀑布流布局(Masonry Layout)
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…...
C++:从拷贝构造函数到深浅拷贝
拷贝构造函数 当实例化一个新对象并使用同类型对其进行初始化时,会显式调用类的拷贝构造函数,拷贝构造函数写法:形参为const修饰的同类型类引用。拷贝构造函数有个需要注意的点,形参为何是只允许传递引用呢?原因在于若…...
Openssl之SM2加解密命令
### 1. 生成 SM2 私钥openssl genpkey -algorithm EC \-pkeyopt ec_paramgen_curve:sm2 \-out sm2_private_key.pem### 2. 从私钥导出 SM2 公钥openssl pkey -in sm2_private_key.pem \-pubout \-out sm2_public_key.pem### 3. 使用 SM2 公钥加密openssl pkeyutl -encrypt \-pu…...
Java集合框架之List接口详解
目录 一、List接口概述 二、List接口常见实现类 三、List接口特有方法: 1.元素操作 2. 查找元素位置 3. 子列表与不可变列表 四、List特有迭代器:ListIterator 1.特有的迭代方式 2.ListIterator接口中的常用方法: ⑴.void add(E e):在光标位置插入元素。(会移动…...
oracle apex post接口
日常记录 使用到了apex_json方式接收 、、、1 首先,接口通过body传递过来,成功接收到, 数据格式为 JSON_OBJECT_T l_json : JSON_OBJECT_T.parse(:body); 这里我用参数接收到 然后 里面是包含了 "data" 我用 继续接收到这个 l…...
【数据挖掘】--算法
【数据挖掘】--算法 目录:1. 缺失值和数值属性处理1缺失值处理: 2. 用于文档分类的朴素贝叶斯3. 分治法:建立决策树4. 覆盖算法建立规则5. 挖掘关联规则6. 线性模型有效寻找最近邻暴力搜索(Brute-Force Search)kd树&am…...
halcon机器视觉深度学习对象检测,物体检测
目录 效果图操作步骤软件版本halcon参考代码本地函数 get_distinct_colors()本地函数 make_neighboring_colors_distinguishable() 效果图 操作步骤 首先要在Deep Learning Tool工具里面把图片打上标注文本, 然后训练模型,导出模型文件 这个是模型 mod…...
英文字体:极简现代浓缩未来派科技海报标题排版无衬线字体 PODIUM Sharp Font
PODIUM Sharp 是 2012 年设计的 DUDU 字体的扩展版本。多年后,我决定通过添加新的母版和粗细来重建和开发这种字体。最后,PODIUM Sharp 由 234 种款式组成:从超压缩发际线到超扩展重度。 这个项目的主要目的是在我在旧波兰标本中发现的不同模…...
Java中JDK、JRE,JVM之间的关系
Java中的JDK、JRE和JVM是三个核心概念,其关系可概括为JDK > JRE > JVM,具体如下: 一、定义与作用 JDK(Java Development Kit) 定义:Java开发工具包,用于开发和编译Java程序。包含内容&…...
elasticsearch在windows上的配置
写在最前面: 上资源 第一步 解压: 第二步 配置两个环境变量 第三步 如果是其他资源需要将标蓝的文件中的内容加一句 xpack.security.enabled: false 不同版本的yaml文件可能配置不同,末尾加这个 xpack.security.enabled: true打开bin目…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...
