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

⚡️ Linux 系统安装与配置 Git

⚡️ Linux 系统安装与配置 Git


📘 1. Git 简介

Git 是目前世界上最流行的分布式版本控制系统,他能高效地处理从小型到大型项目的版本管理需求,是现代软件开发流程中的核心工具之一。

在企业环境中,大多数公司通常会在 Linux 服务器(如跳板机)上配置 Git,供开发人员通过终端远程访问,用于提交代码和管理版本。


⚙️ 2. Git 安装

在 Linux 系统中可以通过以下命令安装 Git:

sudo apt update
sudo apt install git

安装完成后,执行以下命令验证安装是否成功:

git --version

🛠️ 3. Git 基本配置

在 Linux 终端中依次执行以下命令对 Git 进行基本配置:

git config --global user.name "Alice"
git config --global user.email "alice@example.com"
git config --global core.editor "vim"

这些配置会写入 ~/.gitconfig 文件,并在所有 Git 项目中生效。
配置完成后即可通过 HTTP 链接拉取公共仓库(如 GitHub 的开源项目)。

🔐 4. Git 进阶配置

对于需要访问私有仓库的情况(如公司内网仓库),还需要进行更深层次的配置。

🛡️ SSH 配置

大多数私有仓库出于安全考虑,要求使用 SSH 进行认证,所以 Git 也需要进行相应的 SSH 配置。

在 Linux 终端中执行以下命令生成 SSH 密钥对(默认保存于 ~/.ssh/id_ed25519)

ssh-keygen -t ed25519

打开 ~/.ssh/id_ed25519.pub 将SSH密钥粘贴到剪切板

登录公司代码仓库平台(如 GitLab/Gitea/GitHub 企业版),打开设置(Settings),找到 “SSH Keys” 页面,将公钥粘贴至输入框,点击"Add key"按钮完成 SSH 密钥添加

完成以上配置后,即可使用 SSH 链接远程仓库,无需每次拉取/推送输入用户名密码。

📱 .ignore配置

开发过程中,会产生一些无需纳入版本控制的中间文件(如编译结果、缓存、日志等)。可以在项目根目录添加 .gitignore 文件指定忽略规则,例如:

*.log
*.swp
node_modules/
build/

可参考官方模板:https://github.com/github/gitignore

📝 提交模板配置

为规范提交信息,有的公司会要求使用提交模板。

先按照公司要求创建 .gitmessage 模板文件(公司也可能会给你个网址要你下载模板):

echo -e "\n- Why I did it\n\n- How I did it\n\n- How to verify it\n" > .gitmessage

再配置全局使用该模板:

git config --global commit.template /localdata/share/git/gitmessage

完成提交模板配置以后,提交时会自动填充该模板内容,方便撰写结构化的 commit message。

⚠️ 5. 注意事项

⌨️ 自定义提交工具

一些公司采用自定义提交工具(如 git cz、husky、githooks)或强制检查 commit 格式。此时 git commit 命令可能被替换或拦截,需根据工具说明进行配套配置。提交前建议使用 git status、git diff 检查当前更改,确保不遗漏或误提交内容。

相关文章:

⚡️ Linux 系统安装与配置 Git

⚡️ Linux 系统安装与配置 Git 📘 1. Git 简介 Git 是目前世界上最流行的分布式版本控制系统,他能高效地处理从小型到大型项目的版本管理需求,是现代软件开发流程中的核心工具之一。 在企业环境中,大多数公司通常会在 Linux 服…...

SpringBoot 自动装配原理深度解析:从源码到实践

SpringBoot 自动装配原理深度解析:从源码到实践 SpringBoot 作为现代 Java 开发的事实标准,其核心优势之一是 “约定大于配置” 的自动装配机制。本文将从源码层面深入解析 SpringBoot 自动装配的实现原理,并通过代码示例展示其工作流程。 …...

【Go语言】Fyne GUI 库使用指南 (面向有经验开发者)

引言 Fyne 是一个使用 Go 语言编写的、易于使用的跨平台 GUI 工具包和应用程序 API。它旨在通过单一代码库构建在桌面和移动设备上运行的应用程序。本文档面向有一定 Go 语言开发经验的开发者,将详细介绍 Fyne 最新版的核心功能,包括基础组件、布局系统…...

Nginx Lua模块(OpenResty)实战:动态化、智能化你的Nginx,实现复杂Web逻辑 (2025)

更多服务器知识,尽在hostol.com 嘿,各位Nginx的“铁杆粉丝”和“配置大师”们!咱们都知道,Nginx以其超凡的性能、稳定性和丰富的模块化功能,在Web服务器、反向代理、负载均衡等领域独步青云,简直是服务器软…...

openssl 怎么生成吊销列表

mkdir test cd test # 根据 /usr/lib/ssl/openssl.cnf 配置文件中目录结构可知有个demoCA目录,目录下有各种文件。 mkdir ./demoCA ./demoCA/newcerts ./demoCA/private sudo chmod 777 -R ./demoCA/ echo 01 > ./demoCA/serial touch ./demoCA/index.txt # /usr…...

Go语言包的组织与导入 -《Go语言实战指南》

在 Go 语言中,包(Package) 是管理代码模块化、复用性与可维护性的核心单位。本章将讲解如何组织包结构、如何导入其他包、以及项目中的最佳实践。 一、什么是包? • 每个 .go 文件都属于某个包(通过 package 声明&…...

springboot-响应接收与ioc容器控制反转、Di依赖注入

1.想将服务器中的数据返回给客户端,需要在controller类上加注解:ResponseBody; 这个注解其实在前面已经使用过,RestController其实就包含两个注解: Controller ResponseBody 返回值如果是实体对象/集合,将会转换为j…...

CSP使用严格设置

文章目录 说明示例 说明 日期:2025年6月2日。 内容安全政策(MPS)是一个额外的安全层,有助于检测和缓解某些类型的攻击。包括(但不限于)跨站点脚本(XSS)和数据注入攻击。这些攻击用…...

Spring代理工厂类ProxyFactory作用以及实现原理

代理工厂类ProxyFactory AdvisedSupport(代理配置信息类)ProxyFactory(代理工厂类)小结测试 源码见:mini-spring 在 AOP(面向切面编程)中,Spring 支持两种常见的代理机制&#xff1a…...

SpringBoot使用MQTT协议简述

在 Spring Boot 中使用 MQTT 协议连接硬件设备&#xff0c;可以通过以下步骤实现。这里以 Eclipse Paho MQTT 客户端为例&#xff1a; 1. 添加 Maven 依赖 <dependencies><!-- Spring Boot Starter --><dependency><groupId>org.springframework.boo…...

【GraphQL】深入解析 Apollo Client:从架构到实践的一站式 GraphQL 解决方案

深入解析 Apollo Client&#xff1a;从架构到实践的一站式 GraphQL 解决方案 1. 引言 GraphQL 作为现代 API 开发的核心技术&#xff0c;其灵活性和高效性正在重塑数据交互模式。Apollo Client 作为 GraphQL 生态中最受欢迎的客户端库&#xff0c;凭借强大的缓存机制、框架集…...

集成电路制造设备防震基座选型指南:为稳定护航-江苏泊苏系统集成有限公司

集成电路制造设备防震基座选型指南&#xff1a;为稳定护航 在集成电路制造这一精密复杂的领域&#xff0c;每一个环节都如同精密仪器中的微小齿轮&#xff0c;一丝偏差都可能导致严重后果。制造设备的稳定运行更是重中之重&#xff0c;而防震基座作为守护设备稳定的第一道防线…...

华为OD机试真题——阿里巴巴找黄金宝箱(II)(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现

2025 A卷 100分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分…...

Vue中 toRaw 和 markRaw 的使用

背景 针对一些特殊的需求&#xff0c;在项目里&#xff0c;需要将响应式数据变为普通原始类型数据&#xff0c;这种情况是有的 在 Vue 中&#xff0c;能够将普通数据类型的数据变为响应式数据&#xff0c;也能将响应式类型数据变为普通类型数据&#xff0c;用于提升数据的性能…...

探索DeepSeek提示词:关键策略与实用场景

在人工智能飞速发展的时代&#xff0c;DeepSeek作为一款备受关注的AI工具&#xff0c;其强大的功能为用户提供了高效便捷的服务。然而&#xff0c;要充分发挥DeepSeek的潜力&#xff0c;掌握提示词的使用策略至关重要。本文将深入探讨DeepSeek提示词的关键策略&#xff0c;并结…...

海底三维可视化平台

1. 摘要 本文作者为视觉分析构建了一个真实海底的“虚拟世界”。在3D环境中导入底部轮廓。在该模型中&#xff0c;通过地震反射获得的海床地层剖面被数字化为离散点&#xff0c;并用克里金算法进行插值&#xff0c;以在每个地层中产生均匀的网格。然后在每一层构建 Delaunay三…...

Elasticsearch 读写流程深度解析

在数据驱动的数字化浪潮中&#xff0c;Elasticsearch 凭借其毫秒级搜索响应与水平扩展能力&#xff0c;已成为现代数据架构的核心引擎。本文将深入剖析其读写流程的设计思想、实现细节与工程权衡&#xff0c;揭示这一分布式系统的精妙架构。 一、 架构基石&#xff1a;分布式设…...

AIoT赋能场馆数字化转型:智能管理新生态

在数字化浪潮席卷全球的当下&#xff0c;传统场馆管理模式已难以满足日益增长的高效运营与精细化服务需求。智慧场馆建设成为行业发展的必然趋势&#xff0c;而AIoT&#xff08;人工智能物联网&#xff09;技术的深度应用&#xff0c;为多系统集成提供了全新的解决方案&#xf…...

1、Pytorch介绍与安装

1、Pytorch介绍 PyTorch 是由 Facebook AI Research (FAIR) 团队开发并维护的一款开源深度学习框架&#xff0c;于 2016 年首次发布。它因其直观的设计、卓越的灵活性以及强大的动态计算图功能&#xff0c;迅速在学术界和工业界获得了广泛认可&#xff0c;成为当前深度学习研究…...

【从零开始学习QT】Qt 概述

目录 一、什么是 Qt 1.1 简介 1.2 Qt 的发展史 1.3 Qt 支持的平台 1.5 Qt 的优点 1.6 Qt 的应用场景 二、搭建 Qt 开发环境 2.1 Qt SDK 的下载 2.2 Qt SDK 的安装 2.3 验证 Qt SDK 安装是否成功 2.4 Qt 环境变量配置 三、认识 Qt Creator 3.1 Qt Creator 概览 3.…...

家庭路由器改装,搭建openwrt旁路由以及手机存储服务器,实现外网节点转发、内网穿透、远程存储、接入满血DeepSeek方案

大家好&#xff0c;也是好久没有发文了&#xff0c;最近在捣鼓一些比较有趣的东西&#xff0c;打算跟大家分享一下&#xff01; 先聊一下我的大致方案嘛&#xff0c;最近感觉家里路由器平时一直就只有无线广播供网的功能&#xff0c;感觉这么好的一下嵌入式设备产品不应该就干这…...

人工智能工程技术专业 和 其他信息技术专业 有哪些关联性?

人工智能工程技术专业与其他信息技术专业之间存在紧密的关联性&#xff0c;这些关联既体现在基础理论、技术体系上&#xff0c;也反映在行业应用和技术融合的趋势中。以下从多个维度解析它们的关联性&#xff1a; 一、基础学科与核心技术的共通性 数学与算法基础 关联专业&…...

基于本地模型+多级校验设计的高效缓存,有效节省token数量(有点鸡肋doge)。

前言 我是基于token有限而考虑的一个省钱方案&#xff0c;还能够快速返回结果&#xff0c;但是劣势也很明显&#xff0c;设计不好容易出问题&#xff0c;就如下面所介绍的语义飘逸和缓存污染&#xff0c;我认为在自己学习大模型的过程用来省钱非常可以&#xff0c;再加上学习过…...

逐步检索增强推理的跨知识库路由学习

摘要 多模态检索增强生成&#xff08;MRAG&#xff09;在多模态大语言模型&#xff08;MLLM&#xff09;中通过在生成过程中结合外部知识来减轻幻觉的发生&#xff0c;已经显示出了良好的前景。现有的MRAG方法通常采用静态检索流水线&#xff0c;该流水线从多个知识库&#xff…...

用Git管理你的服务器配置文件与自动化脚本:版本控制、变更追溯、团队协作与安全回滚的运维之道

更多服务器知识&#xff0c;尽在hostol.com 咱们在和服务器打交道的日子里&#xff0c;是不是经常要和各种各样的配置文件&#xff08;Nginx的、Apache的、PHP的、防火墙的……&#xff09;还有自己辛辛苦苦写下的自动化脚本打交道&#xff1f;那你有没有遇到过这样的“抓狂”…...

【数据库】关系数据库标准语言-SQL(金仓)下

4、数据查询 语法&#xff1a; SELECT [ALL | DISTINCT] <目标列表达式> [,<目标列表达式>] … FROM <表名或视图名>[, <表名或视图名> ] … [ WHERE <条件表达式> ] [ GROUP BY <列名1> [ HAVING <条件表达式> ] ] [ ORDER BY <…...

Vue3+SpringBoot全栈开发:从零实现增删改查与分页功能

前言 在现代化Web应用开发中&#xff0c;前后端分离架构已成为主流。本文将详细介绍如何使用Vue3作为前端框架&#xff0c;SpringBoot作为后端框架&#xff0c;实现一套完整的增删改查(CRUD)功能&#xff0c;包含分页查询、条件筛选等企业级特性。 技术栈介绍 前端&#xff1…...

小黑大语言模型应用探索:langchain智能体构造源码demo搭建1(初步流程)

导入工具包 rom langchain_core.tools import BaseTool from typing import Sequence, Optional, List from langchain_core.prompts import BasePromptTemplate import re from langchain_core.tools import tool from langchain_core.prompts.chat import (ChatPromptTempla…...

极客时间:用 FAISS、LangChain 和 Google Colab 模拟 LLM 的短期与长期记忆

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

leetcode hot100刷题日记——35.子集

解答&#xff1a; 方法一&#xff1a;选or不选的dfs&#xff08;输入视角&#xff09; 思路&#xff1a;[1,2,3]的全部子集可以看成是对数组的每一位数字做选择。 eg.空集就是一个数字都不选&#xff0c;[1,2]就是1&#xff0c;2选&#xff0c;3不选。 class Solution { pub…...