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

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. 本地

  1. 将修改的文件加到缓存区(stage):git add
  2. 将缓存区文件放回去:git reset
    回退到指定commit id之前版本的仓库:git reset --hard <指定commit_id>
  3. 从缓存区提交文件到本地仓库:git commit

2. 远程

GitHub上处理私有仓库需要配置秘钥,这部分可参考:https://blog.csdn.net/PolarisRisingWar/article/details/144669022

  1. 添加远程仓库:git remote add <远程仓库名> <仓库URL>
    origin是远程仓库的默认名称
  2. 修改远程仓库URL:git remote set-url <远程仓库名> <新仓库URL>
  3. 从远程仓库拉取代码版本到本地并进行合并:git pull
    这个代码实际上是两步:
    1. git fetch:从远程仓库拉取代码版本(就是知道一下远程有什么本地没有的东西)
    2. git merge:将远程仓库的代码版本合并到本地仓库
    3. 合并二进制文件冲突的问题可参考我写的另一篇博文来解决:https://blog.csdn.net/PolarisRisingWar/article/details/138790764
  4. git push <远程仓库名> <branch>:把本地代码推送到远程仓库
    示例:git push origin master
  5. git clone:将Git服务器管理的仓库直接拉到本地
    用SSH克隆的教程可参考我写的另一篇博文:https://blog.csdn.net/PolarisRisingWar/article/details/132713802
  6. 设置代理(主要是用于GitHub):
    git config --global http.proxy IPv4地址:7890
    git config --global https.proxy IPv4地址:7890
    
  7. 删除代理:
    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服务器

  1. Git Daemon
  2. https://gitlab.cn/install/
  3. Gitea
  4. Gitee
  5. Gogs
  6. Gitblit
  7. https://gitstack.com/:Windows服务器

5. 忽略当前文件夹中的指定文件:.gitignore

就是新建一个文本文件,命名为.gitignore,在里面写的文件/文件夹就不会被Git追踪。

我之前专门写过.gitignore文件的教程:Git的.gitignore文件详解与常见用法

5. 修改Git bash文本编码格式

当出现中文乱码的时候会用得到的:

  1. 在git bash标题栏右键,点击Options
    在这里插入图片描述
  2. 进入Text,Character Set选择GBK:在这里插入图片描述

相关文章:

Git命令行入门

诸神缄默不语-个人CSDN博文目录 之前写过一篇VSCode Git的博文&#xff1a;VSCode上的Git使用手记&#xff08;持续更新ing…&#xff09; 现在随着开发经历增加&#xff0c;感觉用到命令行之类复杂功能的机会越来越多了&#xff0c;所以我专门再写一篇Git命令行的文章。 G…...

DeepSeek R1/V3满血版——在线体验与API调用

前言&#xff1a;在人工智能的大模型发展进程中&#xff0c;每一次新模型的亮相都宛如一颗投入湖面的石子&#xff0c;激起层层波澜。如今&#xff0c;DeepSeek R1/V3 满血版强势登场&#xff0c;为大模型应用领域带来了全新的活力与变革。 本文不但介绍在线体验 DeepSeek R1/…...

关于 BK3633 上电时受串口 UART2 影响而无法启动的问题说明

1. 问题描述 BK3633 SDK 版本&#xff1a;BK3633_DesignKit_V06_2310 使用 BK3633 UART2 与指纹模块进行通讯&#xff0c;为了降低功耗&#xff0c;通过 GPIO 控制了指纹模块的供电电源。但每次给整个系统板子上电时&#xff0c;BK3633 很大概率会实际而无法正常运行程序&…...

Redis7——基础篇(六)

前言&#xff1a;此篇文章系本人学习过程中记录下来的笔记&#xff0c;里面难免会有不少欠缺的地方&#xff0c;诚心期待大家多多给予指教。 基础篇&#xff1a; Redis&#xff08;一&#xff09;Redis&#xff08;二&#xff09;Redis&#xff08;三&#xff09;Redis&#x…...

简单工厂模式 (Simple Factory Pattern) 在Spring Boot 中的应用

简单工厂模式&#xff08;Simple Factory Pattern&#xff09;虽然不属于 GoF 23 种经典设计模式&#xff0c;但在实际开发中非常常用&#xff0c;尤其是在 Spring Boot 项目中。它提供了一种简单的方式来创建对象&#xff0c;将对象的创建逻辑集中到一个工厂类中。 一、简单工…...

Python简单使用MinerU

Python简单使用MinerU 1 简介 MinerU是国产的一款将PDF转化为机器可读格式的工具&#xff08;如markdown、json&#xff09;&#xff0c;可以很方便地抽取为任意格式。目前支持图像&#xff08;.jpg及.png&#xff09;、PDF、Word&#xff08;.doc及.docx&#xff09;、以及P…...

使用AI创建流程图和图表的 3 种简单方法

你可能已经尝试过使用 LLMs 生成图像&#xff0c;但你有没有想过用它们来创建 流程图和图表&#xff1f;这些可视化工具对于展示流程、工作流和系统架构至关重要。 通常&#xff0c;在在线工具上手动绘制图表可能会耗费大量时间。但你知道吗&#xff1f;你可以使用 LLMs 通过简…...

ImportError: cannot import name ‘FixtureDef‘ from ‘pytest‘

错误信息表明 pytest 在尝试导入 FixtureDef 时出现了问题。通常是由于 pytest 版本不兼容 或 插件版本冲突 引起的。以下是详细的排查步骤和解决方案&#xff1a; 1. 检查 pytest 版本 首先&#xff0c;确认当前安装的 pytest 版本。某些插件可能需要特定版本的 pytest 才能…...

机器学习实战(7):聚类算法——发现数据中的隐藏模式

第7集&#xff1a;聚类算法——发现数据中的隐藏模式 在机器学习中&#xff0c;聚类&#xff08;Clustering&#xff09; 是一种无监督学习方法&#xff0c;用于发现数据中的隐藏模式或分组。与分类任务不同&#xff0c;聚类不需要标签&#xff0c;而是根据数据的相似性将其划…...

z-score算法

z-score算法原理参考网址 https://blog.csdn.net/m0_59596937/article/details/128378641 具体实现代码如下&#xff1a; import numpy as npclass ZScoreOutlierDetector:def __init__(self, threshold3):"""构造函数"""self.threshold thre…...

企业级RAG开源项目分享:Quivr、MaxKB、Dify、FastGPT、RagFlow

企业级 RAG GitHub 开源项目深度分享&#xff1a;Quivr、MaxKB、Dify、FastGPT、RagFlow 及私有化 LLM 部署建议 随着生成式 AI 技术的成熟&#xff0c;检索增强生成&#xff08;RAG&#xff09;已成为企业构建智能应用的关键技术。RAG 技术能够有效地将大型语言模型&#xff…...

open webui 部署 以及解决,首屏加载缓慢,nginx反向代理访问404,WebSocket后端服务器链接失败等问题

项目地址&#xff1a;GitHub - open-webui/open-webui: User-friendly AI Interface (Supports Ollama, OpenAI API, ...) 选择了docker部署 如果 Ollama 在您的计算机上&#xff0c;请使用以下命令 docker run -d -p 3000:8080 --add-hosthost.docker.internal:host-gatewa…...

C++ 智能指针 unique_ptr shared_ptr weak_ptr小练习

智能指针是 C11 引入的一项重要特性&#xff0c;它可以帮助我们管理动态分配的内存&#xff0c;自动释放内存&#xff0c;避免内存泄漏和悬空指针的问题。智能指针有三种常用类型&#xff1a;std::unique_ptr、std::shared_ptr 和 std::weak_ptr。 为了帮助你熟悉智能指针的使…...

Netstat(Network Statistics)网络工具介绍

Netstat 工具详细介绍及常见指令应用 Netstat&#xff08;Network Statistics&#xff09;是一个常用的命令行工具&#xff0c;用于显示网络连接、路由表、接口统计信息、伪装连接等信息。它可以帮助用户监控计算机的网络状态&#xff0c;尤其在诊断网络问题时非常有用。Netst…...

内容中台架构下智能推荐系统的算法优化与分发策略

内容概要 在数字化内容生态中&#xff0c;智能推荐系统作为内容中台的核心引擎&#xff0c;承担着用户需求与内容资源精准匹配的关键任务。其算法架构的优化路径围绕动态特征建模与多模态数据融合展开&#xff0c;通过深度强化学习技术实现用户行为特征的实时捕捉与动态更新&a…...

React 高阶组件的优缺点

React 高阶组件的优缺点 优点 1. 代码复用性高 公共逻辑封装&#xff1a;当多个组件需要实现相同的功能或逻辑时&#xff0c;高阶组件可以将这些逻辑封装起来&#xff0c;避免代码重复。例如&#xff0c;多个组件都需要在挂载时进行数据获取操作&#xff0c;就可以创建一个数…...

最新版IDEA下载安装教程

一、下载IDEA 点击前往官网下载 或者去网盘下载 点击前往百度网盘下载 点击前往夸克网盘下载 进去后点击IDEA 然后点击Download 选择自己电脑对应的系统 点击下载 等待下载即可 二、安装IDEA 下载好后双击应用程序 点击下一步 选择好安装目录后点击下一步 勾选这两项后点击…...

DeepSeek最新开源动态:核心技术公布

2月21日午间&#xff0c;DeepSeek在社交平台X发文称&#xff0c;从下周开始&#xff0c;他们将开源5个代码库&#xff0c;以完全透明的方式与全球开发者社区分享他们的研究进展。并将这一计划定义为“Open Source Week”。 DeepSeek表示&#xff0c;即将开源的代码库是他们在线…...

《炒股养家心法.pdf》 kimi总结

《炒股养家心法.pdf》这篇文章详细阐述了一位超级游资炒股养家的心得与技巧&#xff0c;展示了其从40万到10亿的股市传奇。以下是文章中炒股技巧和心得的详细总结&#xff1a; 1.核心理念 市场情绪的理解&#xff1a;炒股养家强调&#xff0c;股市的本质是群体博弈&#xff0c…...

运维脚本——8.证书自动化管理

场景&#xff1a;自动化SSL/TLS证书的申请、续期和部署&#xff0c;避免证书过期导致服务中断。 示例&#xff1a;使用Shell脚本配合Lets Encrypt的Certbot工具自动续期证书。 #!/bin/bash # 自动续期Lets Encrypt证书并重启服务 certbot renew --quiet --post-hook "syst…...

RDMA ibverbs_API功能说明

设备管理 获取当前活动网卡 返回当前rdma设备列表 struct ibv_device **ibv_get_device_list(int *num_devices);//使用 struct ibv_device **dev_list ibv_get_device_list(NULL);获取网卡名 返回网卡名字字符串&#xff1a;如"mlx5_0"&#xff0c;一般通过网卡…...

第15届 蓝桥杯 C++编程青少组中/高级选拔赛 202401 真题答案及解析

第 1 题 【 单选题 】 表达式117 % 16 的结果是( )。 A:0 B:5 C:7 D:10 解析: % 是取模运算符,用于计算两个数相除后的余数。 计算 117 / 16,结果是 7,余数是 5。因此,117 % 16 = 5。答案: B 第 2 题 【 单选题 】 下列选项中,字符数组定义正确的是( …...

【R语言】绘图

一、散点图 散点图也叫X-Y图&#xff0c;它将所有的数据以点的形式展现在坐标系上&#xff0c;用来显示变量之间的相互影响程度。 ggplot2包中用来绘制散点图的函数是geom_point()&#xff0c;但在绘制前需要先用ggplot()函数指定数据集和变量。 下面用mtcars数据集做演示&a…...

Linux基本指令(三)+ 权限

文章目录 基本指令grep打包和压缩zip/unzipLinux和windows压缩包互传tar&#xff08;重要&#xff09;Linux和Linux压缩包互传 bcuname -r常用的热键关机外壳程序 知识点打包和压缩 Linux中的权限用户权限 基本指令 grep 1. grep可以过滤文本行 done用于标记循环的结束&#x…...

容器化部署tomcat

容器化部署tomcat 需求在docker容器中部署tomcat,并通过外部机器访问tomcat部署的项目 容器化部署要先装好docker容器(docker安装配置) 实现步骤&#xff1a; 拉取tomcat docker pull tomcat用于列出本地Docker主机上存储的所有镜像 docker images在root目录里面创建tomc…...

vscode软件中引入vant组件

一、vant简介 Vant 是一个轻量、可靠的移动端组件库&#xff0c;于 2017 年开源。 目前 Vant 官方提供了 Vue 2 版本、Vue 3 版本和微信小程序版本&#xff0c;并由社区团队维护 React 版本和支付宝小程序版本。 官网&#xff1a;介绍 - Vant Weapp 里面的快速上手的教程&a…...

DeepSeek vs ChatGPT:AI 领域的华山论剑,谁主沉浮?

一、引言 在当今科技飞速发展的时代&#xff0c;人工智能&#xff08;AI&#xff09;已然成为推动各领域变革的核心力量。而在人工智能的众多分支中&#xff0c;自然语言处理&#xff08;NLP&#xff09;因其与人类日常交流和信息处理的紧密联系&#xff0c;成为了最受瞩目的领…...

Ubuntu 22.04 Install deepseek

前言 deepseekAI助手。它具有聊天机器人功能&#xff0c;可以与用户进行自然语言交互&#xff0c;回答问题、提供建议和帮助解决问题。DeepSeek 的特点包括&#xff1a; 强大的语言理解能力&#xff1a;能够理解和生成自然语言&#xff0c;与用户进行流畅的对话。多领域知识&…...

如何将公钥正确添加到服务器的 authorized_keys 文件中以实现免密码 SSH 登录

1. 下载密钥文件 2. RSA 解析 将 id_ed25519 类型的私钥转换为 RSA 类型&#xff0c;要将 ED25519 私钥转换为 RSA 私钥&#xff0c;需要重新生成一个新的 RSA 密钥对。 步骤&#xff1a; 生成新的 RSA 密钥对 使用 ssh-keygen 来生成一个新的 RSA 密钥对。比如&#xff0c;执…...

深入理解设计模式之解释器模式

深入理解设计模式之解释器模式 在软件开发的复杂世界中,我们常常会遇到需要处理特定领域语言的情况。比如在开发一个计算器程序时,需要解析和计算数学表达式;在实现正则表达式功能时,要解析用户输入的正则表达式来匹配文本。这些场景都涉及到对特定语言的解释和执行,而解…...