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

极客的git常用命令手册

极客的git常用命令手册

    • 1.1 权限配置篇
      • 1.1.1 创建ssh key
      • 1.1.2 本地存在多个密钥时,如何根据目标平台自动选择用于认证的密钥?
    • 1.2 基础信息配置篇
      • 1.2.1 配置用户名
      • 1.2.2 配置用户邮箱
      • 1.2.3 设置文件名大小写区分
      • 1.2.4 设置命令行显示颜色
      • 1.2.5 检查git全局所有配置
    • 1.3 常用操作篇
      • 1.3.1 将本地的一个无版本控制的项目关联到创建好的git仓库
    • 1.3.2 从git仓库下载一个项目
    • 1.3.3 其他基础操作用法
  • 2. 参考文献

1.1 权限配置篇

在这里插入图片描述

注:

  • Codeup 同时支持这两加密算法,但是其他平台RSA还是主流
  • jenkins 貌似还是只支持RSA,不太支持ED25519,使用时候要注意

1.1.1 创建ssh key

  • 基于RSA算法(兼容性最强)

基于RSA算法生成密钥对命令如下:

ssh-keygen -t rsa -C "<注释内容>"

示例:

ssh-keygen -t rsa -C "fairy_xingyun@hotmail.com"
  • 基于ED25519算法(更快更安全)

基于ED25519算法生成密钥对命令如下:

ssh-keygen -t ed25519 -C "<注释内容>"
  • 注释会出现在.pub文件中,一般可使用邮箱作为注释内容
  • 详情步骤参考:配置 SSH 密钥
    示例:
ssh-keygen -t ed25519 -C "fairy_xingyun@hotmail.com"

1.1.2 本地存在多个密钥时,如何根据目标平台自动选择用于认证的密钥?

当本地存在多个密钥,如果不设置认证规则,本机将随机选择一个密钥用于认证,可能造成认证失败。

因此,在如下场景中,需要自行定义认证密钥的路径:

  • 本地存在多个密钥对应云效的不同账号。
  • 本地存在多个密钥对应不同的代码平台(GitLab,GitHub,云效等)。

定义认证密钥路径规则

~/.ssh/config 配置内容如下:(如果不存在请新建一个)

# Codeup 示例用户1
HostName code.aliyun.comPreferredAuthentications publickeyIdentityFile ~/.ssh/id_ed25519# Codeup 示例用户2,设置别名 codeup-user-2
Host codeup-user-2
HostName codeup.aliyun.comPreferredAuthentications publickeyIdentityFile ~/.ssh/codeup_user_2_ed25519# GitLab 平台
HostName gitlab.comPreferredAuthentications publickeyIdentityFile ~/.ssh/gitlab_ed25519

按照上述配置,使用SSH协议访问时,SSH 客户端会使用文件指定的密钥进行认证,实现访问不同平台或同一平台的不同账号使用本地不同的 SSH 密钥进行认证。

访问 Codeup ,由于 HostName 一致,使用别名进行区分使用不同的密钥。

访问 GitLab,根据 HostName 进行区分使用不同的密钥。

# 访问 Codeup,将使用 ~/.ssh/id_ed25519.pub 密钥
git clone git@code.aliyun.com:example/repo.com# 以 codeup-user-2 别名访问 Codeup 时,将使用 ~/.ssh/codeup_user_2_ed25519 密钥 
git clone git@codeup-user-2:example/repo.com# 访问 GitLab 平台,将使用 ~/.ssh/gitlab_ed25519 密钥
git clone git@gitlab.com:example/repo.com

1.2 基础信息配置篇

1.2.1 配置用户名

git config --glboal user.name qingfeng.zhao

验证检查配置是否正确

git config --glboal user.name

1.2.2 配置用户邮箱

git config --glboal user.email fairy_xingyun@hotmail.com

验证检查配置是否正确

git config --glboal user.email

1.2.3 设置文件名大小写区分

git config --global core.ignorecase false
  • Windows下的git 默认配置是不区分大小写的,但是在linux 服务器上是大小写区分的,
  • true则会忽略文件名的大小写,因此强烈建议修改这个全局配置为false

1.2.4 设置命令行显示颜色

 git config --global color.ui auto

1.2.5 检查git全局所有配置

git config --global --list

1.3 常用操作篇

1.3.1 将本地的一个无版本控制的项目关联到创建好的git仓库

其他代码平台:

cd existing_folder
git init  --initial-branch=master
git remote add origin git@github.com:geekxingyun/spring-boot-best-practices-sample.git
git add .
git commit -m "Initial commit"
git push -u origin master

github由于默认分支是main而不是master, 因此稍有不同

cd existing_folder
git init --initial-branch=main
git remote add origin git@github.com:geekxingyun/spring-boot-best-practices-sample.git
git add .
git commit -m "Initial commit"
git push -u origin main

1.3.2 从git仓库下载一个项目

git clone -b  master  url

Tips:

  • cd existing_folder------------------- 进入存在的文件夹
  • git init ---------------------------------- git 初始化,会生成隐藏文件.git
  • git remote add origin [url]---------- git 远程仓库定义别名
  • git add------------------------------ git 添加当前路径下所有文件
  • git commit -m “init project”---------------------------- git 提交到本地库
  • git push -u origin master----------- git提交到远程仓库

1.3.3 其他基础操作用法

git命令语法说明命令解释命令示例
git commit将本地修改保存到本地仓库中git commit -m "init project"
git push将本地仓库修改推送到服务器上的仓库中git push
git fetch相当于是从远程获取最新版本到本地,不会自动mergegit fetch
git merge远程仓库与本地仓库合并git merge
git pull相当于是从远程获取最新版本并merge到本地,等价于先执行git fetch 再执行git mergegit pull
git checkout [branch-name]切换到指定的分支并更新工作目录git checkout master
git merge [branch]将指定分支的历史记录合并到当前分支中git merge dev
git rm --cached [file]从版本控制中删除该文件,但在本地保留该文件git rm --cached readme.md

2. 参考文献

  • 配置SSH KEY密钥
  • 如何在同一台电脑上配置多个SSH Key?
  • 阿里云Code SSH KEY 代码入库
  • 版本控制之Git 修炼手册
  • 基础的命令行命令
  • 重置阿里云Code密码

相关文章:

极客的git常用命令手册

极客的git常用命令手册 1.1 权限配置篇1.1.1 创建ssh key1.1.2 本地存在多个密钥时&#xff0c;如何根据目标平台自动选择用于认证的密钥&#xff1f; 1.2 基础信息配置篇1.2.1 配置用户名1.2.2 配置用户邮箱1.2.3 设置文件名大小写区分1.2.4 设置命令行显示颜色1.2.5 检查git全…...

spring-data 一统江湖,玩转多种数据源

1、起因 因为要在项目中同时访问redis&#xff0c;mongo和mysql三种数据库&#xff0c;而且因为偏向spring-data&#xff0c;所以都使用了spring-data 在使用的过程中如果不做配置发现会有冲突&#xff0c;这篇文章也是解决这个问题&#xff0c;避免以后遇到同样的问题不知所…...

【EMC专题】为什么PCB上的单端阻抗控制在50欧?

每当我们在发板后和PCB板厂沟通说有些走线需要阻抗控制,控制在多少多少。其实我们所说的阻抗是传输线的特性阻抗。特性阻抗是不能用万用表测量出来的,他由传输线的结构以及材料决定,与传输线的长度、信号的幅度、频率等均无关。 特性阻抗的概念 当电磁波在电缆上…...

想自学写个操作系统,有哪些推荐看的书籍?

前言 哈喽&#xff0c;我是子牙&#xff0c;一个很卷的硬核男人。喜欢研究底层&#xff0c;聚焦做那些大家想学没地方学的课程&#xff1a;手写操作系统、手写虚拟机、手写编程语言… 今天我们将站在一个自学者的角度来聊聊如何实现自己的操作系统。并为大家推荐几本能够帮助你…...

深入理解Java虚拟机:JVM高级特性与最佳实践-总结-7

深入理解Java虚拟机&#xff1a;JVM高级特性与最佳实践-总结-7 类文件结构概述无关性的基石 虚拟机类加载机制概述类加载的时机 类文件结构 代码编译的结果从本地机器码转变为字节码&#xff0c;是存储格式发展的一小步&#xff0c;却是编程语言发展的一大步 概述 我们写的程…...

ES6中flat与flatMap使用

1、方法介绍 数组的成员有时还是数组&#xff0c;Array.prototype.flat()用于将嵌套的数组“拉平”&#xff0c;变成一维的数组。该方法返回一个新数组&#xff0c;对原数据没有影响。 [1, 2, [3, 4]].flat() // [1, 2, 3, 4]上面代码中&#xff0c;原数组的成员里面有一个数…...

苹果手机、电脑如何进行屏幕录制?苹果录屏功能在哪?

随着人们生活水平的提高&#xff0c;不少小伙伴都会选择苹果手机、苹果电脑作为主要的设备。因为使用苹果电脑进行办公&#xff0c;不仅仅能够提升效率&#xff0c;对于文件的安全性也是有一些保障的。那么&#xff0c;在使用苹果电脑的时候&#xff0c;如果需要有录屏的需求该…...

什么是研发 Lead Time?我悟了!

嗨&#xff0c;朋友&#xff01;你听说过「新型工伤」吗&#xff1f; 我好像「赛博确诊」了&#x1f623; 那天朋友约我吃饭&#xff0c;我下意识回复了句「好的&#xff0c;那我提一个日程」……还有上次跟一位准妈妈聊天&#xff0c;我好奇宝宝的预产期&#xff0c;结果脱口…...

android 窗口焦点介绍

背景 我们经常会遇到一种Application does not hava focused window的ANR异常&#xff0c;这种异常一般是没有焦点窗口FocusedWindow导致,且这类异常只会发生在key事件的派发&#xff0c;因为key事件是需要找到一个焦点窗口然后再派发&#xff0c;而触摸事件只需要找到当前显示…...

研发工程师玩转Kubernetes——构建、推送自定义镜像

这几节我们都是使用microk8s学习kubernetes&#xff0c;于是镜像库我们也是使用它的插件——registry。 开启镜像库插件 microk8s enable registry模拟开发环境 我们使用Python作为开发语言来进行本系列的演练。 安装Python sudo apt install python3.11安装Pip3 pip3用于…...

[网络安全]DVWA之XSS(Stored)攻击姿势及解题详析合集

[网络安全]DVWA之XSS&#xff08;Stored&#xff09;攻击姿势及解题详析合集 XSS(Stored)-low level源代码姿势基于Message板块基于Name板块 XSS(Stored)-medium level源代码姿势双写绕过大小写绕过Xss标签绕过 XSS(Stored)-high level源代码姿势&#xff1a;Xss标签绕过 XSS(S…...

VP记录:Codeforces Round 873 (Div. 2) A~D1

传送门:CF 前题提要:因为本场比赛的D题让我十分难受.刚开始以为 r − l 1 r-l1 r−l1与 r − l r-l r−l应该没什么不同.但是做的时候发现假设是 r − l 1 r-l1 r−l1的话我们可以使用线段树来维护,但是 r − l r-l r−l就让线段树维护的难度大大增加,这导致我十分烦躁,所以…...

【C++】函数提高

欢迎来到博主 Apeiron 的博客&#xff0c;祝您旅程愉快 &#xff01;时止则止&#xff0c;时行则行。动静不失其时&#xff0c;其道光明。 目录 1、缘起 2、函数默认参数 3、函数占位参数 4、总结 1、缘起 以前学习过了函数的基本用法和功能&#xff0c;现在是时候学习函数…...

【可持续能源:让我们迈向绿色、可持续未来的道路】

作为未来的主要能源来源&#xff0c;可持续能源技术确实有潜力改变我们的世界。随着全球对传统化石燃料的依赖程度逐渐降低&#xff0c;可再生能源已成为许多国家推进能源转型的首选。 从太阳能和风能到地热能和潮汐能&#xff0c;可持续能源技术已经在许多方面取得了重大突破…...

ES6中数组新增了哪些扩展?

一、扩展运算符的应用 ES6通过扩展元素符...&#xff0c;好比 rest 参数的逆运算&#xff0c;将一个数组转为用逗号分隔的参数序列 console.log(...[1, 2, 3]) // 1 2 3console.log(1, ...[2, 3, 4], 5) // 1 2 3 4 5[...document.querySelectorAll(div)] // [<div>, …...

【算法】动态规划

一、基础知识 动态规划的基本思想&#xff1a;将待求解问题分解成若干个子问题&#xff0c;如果各个子问题不是独立的&#xff0c;不同的子问题的个数只是多项式量级&#xff0c;为避免大量的重复计算&#xff0c;用一个表记录所有已解决的子问题的答案&#xff0c;而在需要的…...

HNOI2014 世界树

洛谷P3233 [HNOI2014]世界树 题目大意 有一棵 n n n个点的树&#xff0c;每个点有一个编号&#xff0c;有 q q q次操作。对于每次操作&#xff0c;给出 m m m个点并称为议事点&#xff0c;树上各个点由离这个点最近的议事点管理&#xff08;如果有多个议事点离这个点最近&…...

在MyBatis XML文件中处理特殊符号的方法,如“>”、“<”、“>=”、“<=”这些符号XML会报错如何处理

前言 在MyBatis的XML映射文件中&#xff0c;我们经常需要使用特殊符号&#xff0c;比如"大于"、"小于"、"大于等于"、"小于等于"等比较操作符。然而&#xff0c;这些符号在XML中具有特殊的含义&#xff0c;因此需要进行特殊处理&…...

第三章--第一篇:什么是对话系统?

对话系统是一种人机交互的技术,旨在使计算机能够与人类进行自然而流畅的对话。它是人工智能领域的重要研究方向,具有重要的实际应用价值和广泛的普适性。 首先,对话系统的重要性在于它可以提供高效便捷的人机交互方式。传统的人机界面,如图形用户界面(GUI)和命令行界面(…...

项目基础搭建

一、项目创建 1.下载并安装nodejs 下载完成后&#xff0c;查看node版本 winR 快捷键&#xff0c;cmd确定&#xff0c;进入后台黑框 node -v查看npm安装路径 npm root -g安装cnpm镜像 npm install -g cnpm --registryhttps://registry.npm.taobao.org&#xff1a;查看npm版…...

Godot中型项目工程化实践:目录规范、资源引用与状态管理

1. 这不是续集&#xff0c;而是项目落地的分水岭“Godot 游戏引擎项目&#xff08;二&#xff09;”——看到这个标题&#xff0c;很多人第一反应是&#xff1a;“哦&#xff0c;上一篇讲了环境搭建和Hello World&#xff0c;这篇该讲节点树和信号了&#xff1f;”但我在带三个…...

【UniApp小程序开发】解决无法使用Vue自定义指令的完美替代方案:权限组件封装

在 UniApp 开发中&#xff0c;你是否遇到过这样的困惑&#xff1a;明明在 Vue Web 项目中用得顺手的 v-permission 自定义指令&#xff0c;一到小程序端就完全失效&#xff1f;本文将深入剖析其原因&#xff0c;并提供一套可直接复用的组件化解决方案&#xff0c;让你在小程序中…...

FeHelper前端助手:30+开发工具集,让你的浏览器变身效率神器

FeHelper前端助手&#xff1a;30开发工具集&#xff0c;让你的浏览器变身效率神器 【免费下载链接】FeHelper &#x1f60d;FeHelper--Web前端助手&#xff08;Awesome&#xff01;Chrome & Firefox & MS-Edge Extension, All in one Toolbox!&#xff09; 项目地址:…...

孤舟笔记 互联网常用框架篇三 Dubbo是如何动态感知服务下线的?注册中心和服务端双保险

文章目录先说结论机制一&#xff1a;注册中心通知机制二&#xff1a;心跳检测机制三&#xff1a;连接事件感知机制四&#xff1a;定时拉取四种机制的协作回答技巧与点评加分回答面试官点评个人网站微服务环境下&#xff0c;服务实例随时可能上下线——重启、扩容、宕机……调用…...

从游戏引擎到仿真平台:手把手教你用AirSim+UE4搭建你的第一个无人机/自动驾驶仿真环境

从游戏引擎到仿真平台&#xff1a;构建AirSimUE4无人机与自动驾驶仿真环境实战指南当游戏引擎遇上机器人算法测试&#xff0c;会碰撞出怎样的火花&#xff1f;微软开源的AirSim项目将虚幻引擎&#xff08;Unreal Engine&#xff09;从游戏开发领域引入到自动驾驶和无人机研究的…...

Unity动态自然系统:Forest Environment-Dynamic Nature深度解析

1. 这不是“贴图堆砌”&#xff0c;而是自然系统级建模&#xff1a;Forest Environment-Dynamic Nature 的真实定位你有没有试过在Unity里拖进几棵树、铺点草、加个天空盒&#xff0c;然后发现场景像一张静止的风景明信片——风不动、叶不摇、雨不落、雾不散&#xff1f;我做过…...

通过用量看板分析团队大模型API消耗发现优化调用策略的机会

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 通过用量看板分析团队大模型API消耗发现优化调用策略的机会 作为团队的技术负责人&#xff0c;确保大模型API调用在满足业务需求的…...

【python】ImportError: DLL load failed while importing QtWidgets: 找不到指定的程序。重新安装后搞定

文章目录前言一、PyQt6引用后报错二、使用步骤总结前言 想做个好看的界面&#xff0c;引用了PyQt6&#xff0c;却产生了新问题。 pip install pyqt6-tools&#xff0c;优先做这个动作进行修复。 一、PyQt6引用后报错 python里引用&#xff1a; from PyQt6.QtWidgets import…...

Unity项目DrawCall降不下来?试试用Mesh Baker合并贴图集,保姆级图文教程

Unity性能优化实战&#xff1a;用Mesh Baker合并贴图集降低DrawCall全流程解析当你的Unity项目帧率开始卡顿&#xff0c;Profiler里DrawCall数字居高不下时&#xff0c;合并贴图集往往是解决问题的关键一步。本文将以一个实际项目为例&#xff0c;带你从零开始使用Mesh Baker的…...

独立开发者利用taotoken模型广场为不同任务选择性价比最优模型

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 独立开发者利用taotoken模型广场为不同任务选择性价比最优模型 对于独立开发者而言&#xff0c;在有限的预算内高效完成多样化的开…...