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

Linux 中 Git 使用指南:从零开始掌握版本控制

目录

1. 什么是 Git?

Git 的核心功能:

2. Git 的安装

Ubuntu/Debian 系统:

验证安装:

 3.gitee库

4. Git 的首次配置

配置用户名和邮箱:

查看配置:

5. Git 的基本使用

初始化仓库

添加文件到暂存区

提交更改

推送到远程仓库

6. Git Ignore 文件

gitignore 文件:

生效 .gitignore:

7. 结语


1. 什么是 Git?

Git 是一个分布式版本控制系统,用于跟踪文件的修改历史,帮助开发者高效协作和管理代码。无论是个人项目还是团队开发,Git 都是不可或缺的工具。

Git 的核心功能:

  • 版本控制:记录文件的每一次修改,方便回溯和对比。
  • 分支管理:支持多分支开发,便于并行开发和功能隔离。
  • 协作开发:支持多人协作,通过远程仓库共享代码。

2. Git 的安装

在 Linux 系统中,可以通过包管理器轻松安装 Git。

Ubuntu/Debian 系统:

sudo apt update
sudo apt install git

CentOS/Fedora 系统:

sudo yum install git
# 或者
sudo dnf install git

验证安装:

安装完成后,运行以下命令检查 Git 是否安装成功:

git --version

 3.gitee库

 首先进入gitee官网,注册完账户后,进入界面

填写相关内容

下一步

这个我们有用

4. Git 的首次配置

输入刚刚得到的地址

git clone +刚刚复制的http(git的)

在首次使用 Git 之前,需要配置用户名和邮箱,这些信息会记录在每次提交中。

配置用户名和邮箱:

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

查看配置:

git config --list

5. Git 的基本使用

初始化仓库

在项目目录中初始化 Git 仓库:

git init

添加文件到暂存区

使用 git add 将文件添加到暂存区(准备提交):

git add <file_name>  # 添加单个文件
git add .           # 添加所有文件

提交更改

使用 git commit -m 提交更改并添加提交信息:

git commit -m "Initial commit"

推送到远程仓库

如果项目关联了远程仓库(如 GitHub、GitLab),可以使用 git push 将本地更改推送到远程仓库:

git push origin main  # 将本地 main 分支推送到远程仓库

6. Git Ignore 文件

.gitignore 文件用于指定哪些文件或目录不需要被 Git 跟踪。例如,忽略编译生成的文件、日志文件等。

gitignore 文件:

在项目根目录下创建 .gitignore 文件,并添加需要忽略的文件或目录:

# 忽略所有 .log 文件
*.log# 忽略 build 目录
/build/# 忽略 .env 文件
.env

生效 .gitignore:

.gitignore 文件生效后,Git 会自动忽略指定的文件或目录。

7. 结语

通过本文,你已经学会了如何在 Linux 中使用 Git,包括安装、配置、基本命令、关联远程仓库以及推送代码。Git 是开发者必备的工具,掌握这些基础操作将为你的开发工作带来极大便利。如果你有任何问题,欢迎在评论区留言讨论!

相关文章:

Linux 中 Git 使用指南:从零开始掌握版本控制

目录 1. 什么是 Git&#xff1f; Git 的核心功能&#xff1a; 2. Git 的安装 Ubuntu/Debian 系统&#xff1a; 验证安装&#xff1a; 3.gitee库 4. Git 的首次配置 配置用户名和邮箱&#xff1a; 查看配置&#xff1a; 5. Git 的基本使用 初始化仓库 添加文件到暂存区…...

C# Exe + Web 自动化 (BitComet 绿灯 自动化配置、设置)

BitComet GreenLight,内网黄灯转绿灯 (HighID), 增加p2p连接率提速下载-CSDN博客 前两天写个这个&#xff0c;每次开机关机后要重来一遍很麻烦的索性写个自动化。 先还是按照上面的教程自己制作一遍&#xff0c;留下Luck 以及 路由器相关的 端口记录信息。 &#xff08;因为自…...

2024年12月CCF-GESP编程能力等级认证C++编程四级真题解析

四级真题的难度: 一、总体难度评价 CCF-GESP编程能力等级认证C++四级真题的难度通常被认为相对较高。它不仅要求考生具备扎实的C++编程基础,还需要考生掌握一定的算法和数据结构知识,以及良好的问题解决能力。 二、具体难度分析 ‌理论知识考察‌: 单选题和判断题中,会涉…...

谷歌Chrome或微软Edge浏览器修改网页任意内容

在谷歌或微软浏览器按F12&#xff0c;打开开发者工具&#xff0c;切换到console选项卡&#xff1a; 在下面的输入行输入下面的命令回车&#xff1a; document.body.contentEditable"true"效果如下&#xff1a;...

《DeepSeek深度使用教程:开启智能交互新体验》Deepseek深度使用教程

《DeepSeek使用教程&#xff1a;开启智能交互新体验》 在当今数字化时代&#xff0c;人工智能技术正以前所未有的速度改变着我们的生活和工作方式。DeepSeek作为一款强大的人工智能工具&#xff0c;凭借其卓越的自然语言处理能力和多领域应用潜力&#xff0c;受到了众多开发者…...

Dijkstra算法

Dijkstra算法&#xff08;迪杰斯特拉算法&#xff09;是一种经典的单源最短路径算法&#xff0c;用于在加权图中找到从一个源点到所有其他顶点的最短路径。它要求图中不能有负权边&#xff0c;因为负权边可能会导致算法的贪心策略失效。 Dijkstra算法的基本思想 Dijkstra算法…...

Python中的静态方法如何使用?

在Python里&#xff0c;类当中的方法可以分为多种不同的类型&#xff0c;其中staticmethod是一个十分有趣而又实用的功能。我们来好好地聊一聊什么是静态方法&#xff0c;它的用途是什么&#xff0c;以及如何在实际应用中使用它们&#xff01; 首先&#xff0c;定义一下静态方…...

【最后203篇系列】016 Q201架构思考

前言 Q200已经达到了我既定的目标&#xff0c;在最近的3个月&#xff0c;我需要进一步完善&#xff0c;达到可以试产的程度。 在这个过程当中&#xff0c;许多知识和体会一直在变。 qtv200到目前&#xff0c;虽然通过习惯(每晚运行离线策略和比对)方式维持了注意力的集中&…...

小脑萎缩会致命吗?

小脑萎缩&#xff0c;顾名思义&#xff0c;是指小脑的体积减小或结构发生异常&#xff0c;进而影响其正常功能。小脑作为人体重要的协调和运动控制中心&#xff0c;负责维持身体平衡、调节肌肉张力和协调运动等关键功能。当小脑出现萎缩时&#xff0c;患者可能会出现步态不稳、…...

pip install和conda install的区别

这里写目录标题 一、什么是 Python 依赖&#xff08;Python Dependencies&#xff09;&#xff1f;1. 依赖的作用2. 如何管理 Python 依赖3. 依赖管理问题4. 依赖锁定总结 二、使用pip安装包venv隔离环境方法 1&#xff1a;使用 venv&#xff08;推荐&#xff09;创建虚拟环境激…...

這是我第一次寫關於aapenal服務器管理控制面板的文章

首先我們來認識一下服務器管理面板的所有功能  網站管理功能&#xff1a; 支持創建和管理多個網站。配置虛擬主機&#xff08;Vhost&#xff09;和域名綁定。自動安裝常用應用&#xff08;如WordPress、Joomla等&#xff09;。  文件管理功能&#xff1a; 文件上傳、…...

requests库的request和response对象的属性和方法

Python requests库 request 参数信息 response 参数信息...

8664蛋糕的美味值

8664蛋糕的美味值 ⭐️难度&#xff1a;中等 &#x1f31f;考点&#xff1a;枚举 &#x1f4d6; &#x1f4da; import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in );int n sc.nextInt();int k s…...

【MySQL】数据库简要介绍和简单应用

目录 数据库简要介绍 SQL 的简单应用 需要注意的&#xff1a; 数据库简要介绍 数据库(database)是指长期存储在计算机内&#xff0c;有组织的、可共享的数据集合。它可视为一个电子化的文件柜&#xff0c;用来存储电子文件,用户可以对文件中的数据进行査询、新增、更新、删…...

yolo环境 pytorch环境配置 CUDA安装

我的成功案例&#xff1a;首先安装python 3.12.9的conda虚拟环境 &#xff08;如果不安装3.12的会报错误ModuleNotFoundError&#xff1a;没有名为“numpy._core”的模块&#xff09; 然后安装11.8cuda &#xff08;其实我是可以最高安装12.6的cuda但我实测&#xff0c;太高版…...

camellia redis proxy v1.3.3对redis主从进行读写分离(非写死,自动识别故障转移)

1 概述 camellia-redis-proxy是一款高性能的redis代理&#xff08;https://github.com/netease-im/camellia&#xff09;&#xff0c;使用netty4开发&#xff0c;主要特性如下&#xff1a; 支持代理到redis-standalone、redis-sentinel、redis-cluster。支持其他proxy作为后端…...

python相关语法的学习文档1

python相关语法的学习文档1 1、tqdm tqdm 是 Python 中一个非常流行的进度条库,可以实时显示循环或任务的进度。它简单易用,支持多种场景(如循环、文件处理、多线程/进程等)。以下是详细的使用讲解: 1.1 安装 pip install tqdm1.2 基本用法 from tqdm import tqdm impo…...

Web元件库 ElementUI元件库+后台模板页面(支持Axure9、10、11)

Axure是一款非常强大的原型设计工具&#xff0c;它允许设计师和开发者快速创建高保真原型&#xff0c;以展示应用或网站的设计和功能。通过引入各种元件库&#xff0c;如ElementUI元件库&#xff0c;可以极大地丰富Axure的原型设计能力&#xff0c;使其更加贴近实际开发中的UI组…...

Java 并发编程——BIO NIO AIO 概念

参考 Java 并发编程——BIO NIO AIO 概念 阻塞与非阻塞、同步与异步概念 系统调用、缓存、物理设备阻塞与非阻塞同步与异步 四种主要的 IO 模型 同步阻塞 IO同步非阻塞 IOIO 多路复用异步 IO select&#xff0c;poll&#xff0c;epoll 系统调用命令...

在微信小程序或前端开发中,picker 和 select 都是用户交互中用于选择的组件,但它们在功能、设计和使用场景上有一定的区别

在微信小程序或前端开发中&#xff0c;picker 和 select 都是用户交互中用于选择的组件&#xff0c;但它们在功能、设计和使用场景上有一定的区别。 1. picker 的特点 描述&#xff1a; picker 是微信小程序中的原生组件&#xff0c;通常用于选择单项或多项值&#xff0c;如时…...

笔记本 Win10 部署阿里通义千问 1.5-0.5B 大模型 mini 版

文章目录 1.环境准备1.1 硬件环境1.2 OS 环境1.3 Python 环境 2.环境安装2.1 CUDA 驱动下载安装2.2 torch 库下载安装2.3 transformers 库安装2.3 accelerate 库安装2.4 验证 CUDA 是否可用2.5 下载 Qwen1.5-0.5B 大模型 3.测试大模型3.1 加载大模型3.2 简单对话3.3 亲测体验感…...

SpringBoot事件驱动

1、概述 Spring事件驱动采用了观察者设计模式&#xff0c;主要作用就是实现对象之间的松耦合通信。它的核心思想是通过事件的发布和监听来实现不同组件之间的交互。&#xff08;跟mq挺像&#xff09; 基础概念&#xff1a; 事件&#xff08;Event&#xff09;: 在Spring中&am…...

nginx中间件部署

普通权限账户安装NGINX中间件 1、拥有高级权限的账户安装必要的插件 sudo yum install -y gcc-c make pcre pcre-devel zlib zlib-devel openssl openssl-devel 2、普通账户进行NGINX的脚本式安装 vi nginx_intall.sh #!/bin/bash TAR_NAME"$1" TAR_NAME_DIRba…...

Qt程序基于共享内存读写CodeSys的变量

文章目录 1.背景2.结构体从CodeSys导出后导入到C2.1.将结构体从CodeSys中导出2.2.将结构体从m4文件提取翻译成c格式 3.添加RTTR注册信息4.读取PLC变量值5.更改PLC变量值 1.背景 在文章【基于RTTR在C中实现结构体数据的多层级动态读写】中&#xff0c;我们实现了通过字符串读写…...

vulnhub-Hackme-隧道建立、SQL注入、详细解题、思路清晰。

vulnhub-Hackme-隧道建立、SQL注入、详细解题、思路清晰。 一、信息收集 2025.3.14 PM 12&#xff1a;18 1、主机发现 arp-scan -l nmap -sn 192.168.66.0/24 2、端口扫描 1、nmap --min-rate 10000 -p- 192.168.66.182 -oA port 查看所有开放端口2、map -sS -sV 192.168.6…...

技术-NBIOT

是什么&#xff1f; 窄带物联网&#xff08;Narrow Band Internet of Things, NB-IoT&#xff09;成为万物互联网络的一个重要分支支持低功耗设备在广域网的蜂窝数据连接&#xff0c;也被叫作低功耗广域网(LPWAN)NB-IoT支持待机时间长、对网络连接要求较高设备的高效连接NB-Io…...

【论文阅读】AlexNet——深度学习奠基作之一

原文链接 Step 1 1. titleabstract 第一句&#xff1a;告诉我干了什么事情 我们训练了一个很大很深的卷积神经网络&#xff0c;用来对120w个图片作分类&#xff0c;这里面有1000个类 第二句&#xff1a;结果 在测试集上面&#xff0c;top-1 error37.5%&#xff0c;top-517.0…...

【云原生技术】编排与容器的技术演进之路

一、编排与容器的技术演进之路 1.1 DockerClient 此时 K8s 只是编排领域的一个选择&#xff0c;而 Docker 此时一家独大&#xff0c;所以 K8s 的客户端只 是作为 Docker 的客户端来调用 Docker 引擎来完成服务。 1.2 RUNC&Shim OCI催生 runcrunc&#xff0c;剥离 Docke…...

鸿蒙编译框架插件HvigorPlugin接口的用法介绍

鸿蒙系统中HvigorPlugin接口实现自定义编译插件&#xff0c;实现编译前后自定义功能。 在鸿蒙&#xff08;HarmonyOS&#xff09;开发中&#xff0c;HvigorPlugin 是用于扩展 Hvigor 构建工具功能的接口。通过实现此接口&#xff0c;开发者可以自定义构建任务、修改构建流程或…...

Springboot+mybatis实现增删改查操作

继续写一下删除操作&#xff0c;删除有些不一样&#xff0c;首先在controller里面&#xff0c;我们需要改一下路由&#xff0c;我们后面要写/{id}传入路径参数&#xff0c;用PathVariable注解绑定id&#xff0c;剩下的都一样&#xff0c;传入id&#xff0c;然后写service和mapp…...

Java中的I/O

1.I/O流 1.1I/O概述 1.2.基本用法 1.3.字节输出流写数据的细节 1.4.FileOutPutStream写数据的三种方式 明天再更~~~~&#xff0c;先混个流量券。...

前端组件封装艺术:设计原则与最佳实践指南

文章目录 一、组件封装的核心原则1.1 设计原则概览1.2 组件生命周期 二、组件设计准则2.1 单一职责原则2.2 高内聚低耦合 三、组件接口设计3.1 Props设计规范3.2 代码示例 四、组件状态管理4.1 状态设计原则4.2 代码示例 五、组件样式处理5.1 样式方案对比5.2 代码示例 六、组件…...

SpringMVC(五)拦截器

目录 拦截器基本概念 一 单个拦截器的执行 1 创建拦截器 2 SpringMVC配置&#xff0c;并指定拦截路径。 3 运行结果展示&#xff1a; 二 多个拦截器的执行顺序 三 拦截器与过滤器的区别 拦截器基本概念 SpringMVC内置拦截器机制&#xff0c;允许在请求被目标方法处理的…...

jupyter无法转换为PDF,HTMLnbconvert failed: Pandoc wasn‘t found.

无法转为PDF 手动下载工具 https://github.com/jgm/pandoc/releases/tag/3.6.3 似乎跟我想的不大一样&#xff0c;还有新的报错 https://nbconvert.readthedocs.io/en/latest/install.html#installing-tex 不知道下的啥玩意儿 sudo apt-get install texlive-xetex texlive-fon…...

【红黑树】—— 我与C++的不解之缘(二十五)

前言 学习了avl树&#xff0c;现在来学习红黑树。 一、什么是红黑树 红黑树是一颗平衡二叉搜索树&#xff0c;它每一个节点增加了一个存储位表示节点的颜色&#xff0c;可以是红色或者黑色。 相比较于AVL树&#xff0c;红黑树也是一个自平衡二叉搜索树&#xff0c;但是它与AVL树…...

机器学习 Day05 pandas库

1.pandas介绍和优点 Pandas 是 2008 年由 Wes McKinney 开发的开源 Python 库 。它专门用于数据挖掘和数据分析&#xff0c;具有以下特点&#xff1a; 数据结构独特&#xff1a;核心数据结构为 Series&#xff08;一维&#xff09;和 DataFrame&#xff08;二维&#xff09; …...

布达佩斯召开 | 2025年第五届能源与环境工程国际会议(CoEEE 2025)

会议简介 Brief Introduction 2025年第五届能源与环境工程国际会议(CoEEE 2025) 会议时间&#xff1a;2025年7月25日-27日 召开地点&#xff1a;匈牙利布达佩斯 大会官网&#xff1a;www.coeee.org CoEEE 2025将围绕“能源与环境工程”的最新研究领域而展开&#xff0c;为研究人…...

[C语言日寄] qsort函数的练习

【作者主页】siy2333 【专栏介绍】⌈c语言日寄⌋&#xff1a;这是一个专注于C语言刷题的专栏&#xff0c;精选题目&#xff0c;搭配详细题解、拓展算法。从基础语法到复杂算法&#xff0c;题目涉及的知识点全面覆盖&#xff0c;助力你系统提升。无论你是初学者&#xff0c;还是…...

单引号与双引号在不同编程语言中的使用与支持

在编程语言中&#xff0c;单引号和双引号是常见的符号&#xff0c;它们通常用来表示字符和字符串。然而&#xff0c;如何使用这两种符号在不同的编程语言中有所不同&#xff0c;甚至有一些语言并不区分单引号和双引号的用途。本文将详细介绍不同编程语言中单引号与双引号的支持…...

Next.js项目实战——MindAI

我的整个毕业论文&#xff0c;是基于Next.js搭建完成的。项目的搭建过程分为多个章节&#xff0c;循序渐进&#xff1a; 1.环境准备与项目初始化 Node.js和npm的安装配置创建Next.js 14项目TypeScript配置项目目录结构说明Git初始化和.gitignore配置 2.基础架构搭建 Tailwi…...

MindGYM:一个用于增强视觉-语言模型推理能力的合成数据集框架,通过生成自挑战问题来提升模型的多跳推理能力。

2025-03-13&#xff0c;由中山大学和阿里巴巴集团的研究团队提出了MindGYM框架&#xff0c;通过合成自挑战问题来增强视觉-语言模型&#xff08;VLMs&#xff09;的推理能力。MindGYM框架通过生成多跳推理问题和结构化课程训练&#xff0c;显著提升了模型在推理深度和广度上的表…...

WPS的Excel文档如何利用VB脚本批量替换超链接的内容

准备知识 关于WPS的Excel点击单元格打开别的文档的两种方法的探究【为单元格添加超链接】 https://blog.csdn.net/wenhao_ir/article/details/146212767 激活WPS的Excel文档中的VB编辑器功能 没有激活前的截图如下: 原因是我们的电脑中缺乏VBA插件,我们点击“开发工具”:…...

phpstudy+phpstorm+xdebug【学习笔记】

配置PHPStudy 配置PHPSTORM phpstorm选择PHP版本 配置DEBUG 设置服务器 编辑配置 学习参考链接&#xff1a;&#xff1a;https://blog.csdn.net/m0_60571842/article/details/133246064...

(包清楚解疑)ES6中__dirname和__filename不见了吗?,到底怎么用

我们知道&#xff0c;在commonJs中&#xff0c;__dirname和__filename分别表示当前js文件所在目录路径和所在路径的绝对路径。可以直接使用&#xff0c;但是在ES6和Node v20.11.0之后&#xff0c;不能直接用了。 首先明确一下这两个变量为什么会用到&#xff1a; 当我们在使用…...

3.4 基于TSX的渲染函数类型安全实践

文章目录 1. TSX与类型安全的核心价值1.1 TSX的独特优势1.2 类型安全的核心收益2. 基础类型安全实践2.1 组件Props类型约束2.2 子元素类型校验2.3 事件类型系统3. 高级类型安全模式3.1 泛型组件设计3.2 高阶组件类型3.3 类型守卫应用4. 类型操作工具集4.1 实用类型工具4.2 类型…...

vue-draggable-plus实现某些子元素不被拖拽

在使用vue-draggable-plus时倘若只是节点里面所有元素都可以拖拽倒还好实现&#xff0c;但遇到某些子元素是作为其他作用不可拖拽或者可拖拽不可替换这些情况&#xff0c;则比较头疼了 解决&#xff1a; 1. 绑定移动事件 2. 处理移动世界并对对应情况返回false //移动事件 co…...

基于SpringBoot的Mybatis和纯MyBatis项目搭建的区别

【由于之前学习MyBatis的时候是跟着视频敲的纯MyBatis项目&#xff0c;以至于在突然看到别人在SpringBoot项目里搭建MyBatis方式的时候很懵比…特此文字形式记录一下区别&#xff08;应该还有好多种其他方式是我不知道的&#xff0c;主要应该就是要知道关键的流程步骤&#xff…...

二进制数(十进制转二进制)

二进制数 #include<stdio.h> int main(){int n;while(scanf("%d",&n)!EOF){int a[10000];int i0;if(n0){printf("0\n");continue;}while(n){a[i]n%2;i;nn/2;}for(int ji-1;j>0;j--){printf("%d",a[j]);}printf("\n");}…...

一周学会Flask3 Python Web开发-SQLAlchemy添加数据操作-班级模块

锋哥原创的Flask3 Python Web开发 Flask3视频教程&#xff1a; 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili SQLAlchemy提供session.add()方法添加model实体数据&#xff0c;以及提供session.commit()提交事务。 首先list.html加一个添…...

【python】OpenCV—Hough Circle Transform

文章目录 1、功能描述2、代码实现3、效果展示4、完整代码5、涉及到的库函数6、参考 更多有趣的代码示例&#xff0c;可参考【Programming】 1、功能描述 2、代码实现 载入必要的库 import sys import cv2 as cv import numpy as np函数入口 if __name__ "__main__&qu…...