Git 使用全指南:从配置到免密登录

  • 一、Git 基础配置
  • 二、Git 代码提交流程
    • 2.1 克隆远程仓库
    • 2.2 创建并切换分支
    • 2.3 暂存文件
    • 2.4 提交到本地仓库
    • 2.5 拉取远程最新代码
    • 2.6 推送本地分支到远程
  • 三、VSCode 服务器免密登录配置
    • 3.1 生成 Windows SSH 密钥
    • 3.2 复制公钥到服务器
    • 3.3 设置文件权限(关键!)
    • 3.4 在 VSCode 中验证连接
  • 四、常见问题解决方案
    • 4.1 SSH 连接失败
    • 4.2 分支操作错误
    • 4.3 提交历史修改

一、Git 基础配置

# 设置全局用户名和邮箱(用于提交记录)
git config --global user.name "Your Name"
git config --global user.email your.email@example.com
# 生成SSH密钥(用于免密连接Git服务器)
ssh-keygen -t rsa -C "your.email@example.com"
# 按提示连续回车即可,无需设置密码
# 查看并复制公钥
cat ~/.ssh/id_rsa.pub

将生成的公钥添加到 GitLab/GitHub:
头像 → Settings → SSH Keys → 粘贴公钥 → Add Key

二、Git 代码提交流程

2.1 克隆远程仓库

git clone git@github.com:username/repo.git  # SSH方式(推荐)
# 或使用HTTPS方式
git clone https://github.com/username/repo.git

2.2 创建并切换分支

# 创建新分支并切换到该分支
git checkout -b new-feature
# 等价于以下两条命令
git branch new-feature  # 创建分支
git checkout new-feature  # 切换分支

2.3 暂存文件

git add filename  # 添加单个文件
git add .  # 添加所有修改的文件(不推荐,容易提交无关文件)
git add -p  # 交互式添加(推荐,精确控制暂存内容)

2.4 提交到本地仓库

# 标准提交格式(推荐)
git commit -m "feat: 实现用户登录功能"
# 完整提交规范(可选)
git commit -m "type(#issue): 描述"

以下为提交类型说明的表格形式呈现:

类型说明示例
feat新增功能feat (#123): 添加支付模块
fix修复 Bugfix (#456): 解决登录异常
docs文档更新docs: 更新 README
style格式调整(不影响功能)style: 统一代码缩进
refactor代码重构(非新增/修复)refactor: 优化数据库查询
perf性能优化perf: 提升响应速度
test添加测试用例test: 补充单元测试
chore构建/工具链更新chore: 升级依赖版本

2.5 拉取远程最新代码

# 在主分支更新
git pull origin main
# 在开发分支更新
git pull origin new-feature

2.6 推送本地分支到远程

git push origin new-feature
# 首次推送可设置上游分支(简化后续推送)
git push -u origin new-feature

三、VSCode 服务器免密登录配置

3.1 生成 Windows SSH 密钥

# 在Windows命令行(Git Bash)中执行
ssh-keygen -t rsa -C "your.email@example.com"

密钥文件位置:C:\Users\YourName.ssh\id_rsa.pub

3.2 复制公钥到服务器

# 1. 查看Windows公钥内容
cat C:\Users\YourName\.ssh\id_rsa.pub
# 2. 登录Linux服务器,创建/编辑授权文件
vi ~/.ssh/authorized_keys
# 3. 将Windows公钥内容粘贴到该文件中

3.3 设置文件权限(关键!)

# 确保SSH目录和授权文件权限正确
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

3.4 在 VSCode 中验证连接

  1. 安装 Remote-SSH 扩展
  2. 点击左下角远程图标 → Connect to Host
  3. 输入服务器配置(如ssh username@server_ip)
  4. 选择私钥文件(Windows 路径 C:\Users\YourName.ssh\id_rsa)

四、常见问题解决方案

4.1 SSH 连接失败

# 测试SSH连接
ssh -T git@github.com  # GitHub示例
ssh -T git@gitlab.com  # GitLab示例# 若提示Permission denied,检查:
# 1. 公钥是否正确添加到Git服务
# 2. 防火墙是否开放SSH端口(默认22)

4.2 分支操作错误

# 查看所有分支(本地+远程)
git branch -a
# 切换回主分支
git checkout main
# 删除本地分支
git branch -d new-feature
# 删除远程分支
git push origin --delete new-feature

4.3 提交历史修改

# 修改最近一次提交信息
git commit --amend -m "修正后的提交信息"
# 撤销暂存
git reset HEAD filename
# 丢弃工作区修改
git checkout -- filename
  • 通过以上步骤,你可以高效地使用 Git 进行版本控制,并实现 VSCode 与服务器的免密连接。建议定期同步代码,保持分支整洁,遵循团队统一的提交规范。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/916267.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/916267.shtml
英文地址,请注明出处:http://en.pswp.cn/news/916267.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

组合期权:领式策略

文章目录0.简介1.多头领式策略(Long Collar)​1.1 策略构成1.2 适用场景​1.3 损益分析1.4 案例示范2.空头领式策略(Short Collar)​2.1 策略构成2.2 适用场景2.3 损益分析2.4 案例示范参考文献0.简介 领式策略(Colla…

ECSPI控制器

目录 SPI协议简介 极性与相位 SPI框图 单字节收发 发送数据流程 接收数据流程 ECSPI控制器 关键特性 时钟源 主机模式 等待状态 片选控制 单突发传输 多突发传输 相位控制 ECSPI Memory Map ECSPI寄存器 ECSPIx_RXDATA ECSPIx_TXDATA ​编辑 ECSPIx_CONREG …

HTTP 与 SpringBoot 参数提交与接收协议方式

HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Type)。以下是主要的参数提交协议:1. URL 查询参数 (Query Parameters)请求方法: GET (也可用于其他方法)格式: ?key1value1&key2value2示例: GET /users?id123&…

Lua(数组)

Lua 数组基础概念Lua 中的数组实际上是用整数索引的 table,是一种特殊形式的表。数组索引通常从 1 开始(Lua 惯例),但也可以从其他值开始。创建数组通过表构造器初始化数组:-- 索引从 1 开始的数组 local arr {10, …

【Docker项目实战】在Docker环境下部署go-file文件分享工具

【Docker项目实战】在Docker环境下部署go-file文件分享工具一、go-file介绍1.1 go-file简介1.2 go-file特点1.3 go-file使用场景二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本四、下…

C++基础学习——文件操作详解

一、文件流类概述 C 标准库提供了三个主要的文件流类: ifstream (输入文件流):用于从文件读取数据ofstream (输出文件流):用于向文件写入数据fstream (文件流):既可读又可写 这些类都继承自 iostream 类,因此可以使用 …

Android补全计划 DrawerLayout使用

DrawerLayout其实用了很久了,甚至封装了一些代码方便不同项目使用,但重构代码的时候突然意识到这块内容很不成体系,因此又参考了些文档,组建了自己的一个文档。 toolbardrawerlayout能写的效果很多,在此我也只是截取了…

人工智能之数学基础:概率论之韦恩图的应用

韦恩图的应用由于事件的计算有时候太过于抽象了,此时我们可以使用韦恩图的方式来进行验证,我们下面来举一个例子,A∪B)-CA∪(B-C)是否成立?我们可以通过韦恩图来完成这个任务:我们通过这种方式来一点一点的…

小白成长之路-部署Zabbix7(二)

文章目录一、zabbix-自动发现二、自动注册三、zabbix-网易云邮箱-发送消息二、zabbix-钉钉告警总结一、zabbix-自动发现 1.在准备两台虚拟机,我的是192.168.144.12,192.168.144.13 server换成zabbix服务器的ip地址 vim /etc/zabbix/zabbix_agentd.conf 2.创建自动…

CMU15445-2024fall-project4踩坑经历

project4目录Task1Task2ReconstructSeqScanTask3InsertCommitTxnMgrDbgGenerateNewUndoLog And GenerateUpdateUndoLogUpdate And Delete垃圾回收Task4Index Insert并发控制Index ScanDelete、Update并发控制主键更新Bonus 1Bonus 2处理写倾斜感谢CMU的教授们给我们分享了如此精…

C++20 协程

摘要:C20 引入的协程机制为异步编程提供了轻量级解决方案,其核心优势在于通过用户态调度实现高效的上下文切换,适用于 I/O 密集型任务、生成器模式等场景。本文系统阐述 C20 协程的底层原理与实践要点,首先解析协程的基本结构&…

《计算机组成原理与汇编语言程序设计》实验报告二 基本数字逻辑及汉字显示

目 录 一、实验学时 二、实验目的 三、实验要求 四、实验内容 五、实验步骤 1、打开Logisim软件,列出并行四位二进制全加器逻辑电路真值表,并使用与、或、非、异或等基本原件实现并行四位二进制全加器逻辑电路,铺设完成后进行测试进而…

问卷调查小程序的设计与实现

问卷调查小程序的设计与实现:技术与功能全解析在数字化时代,问卷调查成为数据收集的重要工具。一款高效、易用的问卷调查小程序能够显著提升用户体验和数据质量。本文将深入探讨基于现代技术栈的问卷调查小程序的设计与实现,涵盖核心功能、技…

STM32项目实战:正弦波

波形发生器对我的钱包不怎么友好,手里面有stm32f103c8t6,于是就想,放在哪儿吃灰也是吃灰,不如做个正弦波发生器。方案 dac没怎么用过,所以打算使用输出模拟正弦波。我们决定采用以下方案:1.使用TIM2_CH3(PA…

Unity 时间抗锯齿(Temporal Antialiasing, TAA)技术解析

时间抗锯齿(Temporal Antialiasing, TAA)技术解析 一、什么是时间抗锯齿(TAA)? 时间抗锯齿(TAA)是一种先进的实时抗锯齿技术,通过在时间维度上积累多帧渲染数据,实现比传…

uniapp打开导航软件并定位到目标位置的实现

/*** 打开导航* param location 经纬度(例如:"117.214713,39.116884")* param address 地址*/ export function mapNavigation(location, address) {const locationArr location.split(,)const longitude locationArr[0]const latitude locationArr[1]…

Mysql实现高可用(主从、集群)

一、背景 需求:客户要实现Mysql8.0高可用,出现故障时,需要实现自动切换。 分析:实现切换有两种方式,一种数据库自动切换,一种代码实现。 本着麻烦别人,别麻烦自己的原则,得给客户的D…

AI编程革命:自动化代码生成、低代码开发与智能优化实践全景解析

AI编程革命:自动化代码生成、低代码开发与智能优化实践全景解析 人工智能正在重塑软件开发的基本范式,从自动化代码生成到低代码开发平台,再到算法智能优化,AI编程技术正以指数级速度改变开发者工作方式。 一、自动化代码生成技术…

[实战] 用1 PPS 驯服本地恒温晶振(OCXO/TCXO)

1 PPS 驯服本地恒温晶振(OCXO/TCXO) “让任何工程师都能在一周内做出自己的 GPSDO” 文章目录1 PPS 驯服本地恒温晶振(OCXO/TCXO)前言1 系统总体框图2 硬件清单与连接3 时间间隔测量(TDC)原理4 数字锁相环算…

基于RK3576+FPGA的无人机飞控系统解决方案

基于RK3576FPGA的无人机飞控系统解决方案设计如下&#xff1a;一、硬件架构设计‌异构计算核心模块‌主控采用RK3576处理器&#xff0c;四核Cortex-A72&#xff08;2.3GHz&#xff09;运行路径规划算法&#xff08;A*、RRT*&#xff09;&#xff0c;支持动态避障响应时间<50…