Git-速查
Git
安装 Git 之后,你可以…
配置全局用户信息(推荐)
- 全局设置,创建本地仓库时默认分支名称为 main(你需要什么名称就该什么名称)【推荐配置为 main 】
git config --global init.defaultBranch main
- 全局设置,用户名和电子邮箱地址(比如:“张三”、“10086@qq.com”)
git config --global user.name "名字"
git config --global user.email "电子邮箱地址"
- 查看是否设置成功
git config user.name
git config user.email
创建本地仓库(必须)
- 为当前文件夹的内容,创建本地仓库
git init
- 对默认的分支名称不满意,可通过下面命令重命名
git branch -m 新的分支名称
- 插一句嘴,如果你需要重命名其他分支,而非当前分支,可执行下面命令
git branch -m 老的分支名称 新的分支名称
局部用户信息(可选)
- 局部设置,本地仓库的用户名和电子邮箱地址(优先从局部设置读取,而非使用全局设置)
git config user.name "名字"
git config user.email "电子邮箱地址"
- 查看是否设置成功
git config user.name
git config user.email
操作本地仓库(推荐)
- branch 相关
# 查看分支(列出本地仓库中所有的分支,并且当前所在的分支会被标注出来)
git branch# 显示简略的分支信息(比如:每个分支的最新提交哈希值)
git branch -v# 显示详细的分支信息(比如:远程跟踪分支)
git branch -vv# 切换到指定的分支
git checkout 分支名称# 创建并切换到一个新分支
git checkout -b 新分支名称# 尝试删除分支(自动检查分支是否已经合并,没有合并将删除失败)
git branch -d 分支名称# 强制删除分支
git branch -D 分支名称# 将xxx分支合并进当前分支(假如当前分支是main,要xxx分支并入main里面)
git merge xxx# 解决合并冲突
(1)查看冲突文件: git status
(2)编辑冲突文件: 手动编辑内容,将冲突的内容进行修改
(3)重新执行添加: git add 文件名
(4)然后执行提交: git commit -m "这里写你本次提交的备注内容"
- add 相关
# 将所有文件添加到"待提交区"
git add .# 将某个文件(password.txt)添加到"待提交区"
git add password.txt
# 从"待提交区"撤回刚才添加的所有文件
git reset# 从"待提交区"撤回刚才添加的某一个文件(password.txt)
git reset password.txt
- status 相关
# 显示工作目录和暂存区的状态
git status
- commit 相关
# 将"代提交区"里面的东西,提交到本地仓库里面
git commit -m "这里写你本次提交的备注内容"# 不写参数,Git 会自动打开默认的文本编辑器供你输入多行提交信息
git commit
# 撤回刚才提交到"本地仓库"的东西(1)撤回最近一次的提交,并让已修改的文件回到"待提交区"(即:回到commit的前一刻)
git reset --soft HEAD^(2)撤回最近一次的提交,只保存文件的修改状态,"待提交区"没有任何内容(即:回到add的前一刻)
git reset HEAD^(3)撤回最近一次的提交,不保存文件的修改状态,"待提交区"也没有任何内容(即:回到文件没有修改过的状态)
git reset --hard HEAD^(4)撤销某个特定的历史提交而不是最近的一次提交
例如:要撤销某一个特定的提交,假设其哈希值为 abc123
git revert 会创建一个新的提交,该提交的内容正好抵消指定提交所做的更改,而不会直接删除历史记录
git revert abc1234
温馨提醒:在Git中,用 HEAD 表示当前版本;
上一个版本就是HEAD^,上上一个版本就是HEAD^^,上一百个版本可以简写为HEAD^100
或者
上一个版本就是HEAD~,上上一个版本就是HEAD~~,上一百个版本可以简写为HEAD~100
区别是
[HEAD^5表示退一步到第五个父提交上,HEAD~5表示连续退五步到第五个父提交上]
Github
与 Github 建立连接
接下来将使用 ssh 方式进行连接,(Github官网)不推荐使用 https 方式
- 切换到用户目录
cd ~
- 制作用于保证数据传输安全的密钥(执行下面命令后,出现问答提示,不断按回车键即可)
ssh-keygen -t rsa -C "电子邮箱地址"
- 执行下面命令,将会输出密钥内容,复制它
type ~/.ssh/id_rsa.pub
- 打开 Github 网站:https://www.github.com
- 点击右上角的个人头像,点击
Settings,点击SSH and GPG keys,在 SSH keys 菜单里面,填写好 Title 后,将密钥粘贴到 Key 那里。
创建远程仓库
- 点击右上角的个人头像,点击
Your Repositories,点击New创建你的远程仓库 - 在
Repository name那里填写仓库名称,如果你想要给这个仓库添加一些说明,在Description (optional)那里填写即可 - 如果选择
Public,仓库将被公开,所有人可见;如果选择Private,仓库将被设置为私有,只有你自己可见 - 其他配置,可根据你的需要进行设置,不需要的话,直接点击最下方的
Create repository即可 - 点击
SSH,可以看到一个链接:git@github.com:用户名/远程仓库名称.git,复制它
连接远程仓库
- 添加一个远程仓库,给它命名为 origin(你可以改为其他名字)而它的路径地址,就粘贴你刚才复制的链接
git remote add origin git@github.com:用户名/远程仓库名称.git
- 查看远程仓库(确保远程仓库已经正确添加)
# 查看名称为 origin 的远程仓库的路径地址
git remote get-url origin# 查看所有的远程仓库
git remote -v
推送和拉取
- 推送
假设
“本地仓库”当有两个分支:main、test,当前分支为 test
“远程仓库”的分支名称为 main、develop
“远程仓库”被命名为 cangku# 将本地仓库的test分支上传到cangku的main分支(即:test => main)
git push cangku test:main# 将本地仓库的main分支上传到cangku的develop分支(即:main => develop)
git push cangku main:develop# 将本地仓库的main分支上传到cangku的main分支(即:main => main)
git push cangku main:main
或者简写
git push cangku main# 注意:上传指令的执行与当前是什么分支无关
- 设置与查看 “远程跟踪分支”
远程跟踪分支(也称为"上游分支")是 Git 中一个非常有用的功能
远程跟踪分支,是本地仓库中对远程分支的引用# 设置"远程跟踪分支"的三种方法
# (1) 普通设置
git branch --set-upstream-to=远程仓库名/远程分支名 本地分支名# (2) 推送+设置
git push --set-upstream 远程仓库名 本地分支:远程分支
或者简写为
git push -u 远程仓库名 本地分支:远程分支# (3) 拉取+设置(注意:下面的命令将作用于你当前所在的本地分支)
git pull --set-upstream 远程仓库名 远程分支名# 注意:设置"远程跟踪分支"之后,你以后可以直接使用 git push 和 git pull
而不需要每次都指定远程仓库和分支名称,git会自动知道你的本地分支对应的远程分支# 查看"远程跟踪分支"的信息
git branch -vv
- 拉取
# 从远程仓库获取所有远程分支的更新,并呈现内容的变化,但不会修改你的工作目录(也就是不合并)
git fetch 远程仓库名# 从远程仓库获取某个远程分支的更新,并呈现内容的变化,但不会修改你的工作目录
git fetch 远程仓库名 远程分支# 注意:无论你当前在哪个本地分支上,git fetch 只会获取相应的远程分支的最新信息,并更新相应的远程跟踪分支,但不会修改你的工作目录(也就是不合并)
# 从远程仓库获取最新的更改,并将这些更改合并到“你当前所在的本地分支”(注意:只能是当前分支,无法更改)
git pull 远程仓库名 远程分支温馨提示git pull 是 git fetch 和 git merge 的组合假设“本地仓库”当有两个分支:main、test,当前分支为 main“远程仓库”的分支名称为 main、develop“远程仓库”被命名为 cangku需求将cangku中的develop分支合并到本地test分支上方法一# (1)切换到本地test分支上
git checkout test# (2)从远程仓库获取develop分支的最新更改,并合并到当前test分支上
git pull cangku develop 方法二# 切换到本地test分支上
git checkout test# 更新所有"远程跟踪分支"(如cangku/main、cangku/develop)但不会修改你的工作目录或当前分支
git fetch cangku# 将"远程跟踪分支" cangku/develop 的更改合并到当前test分支上
git merge cangku/develop# 小提示:远程跟踪分支是本地仓库中对远程分支的引用。它们通常以 cangku/develop 的形式存在。远程跟踪分支用于跟踪远程分支的状态,帮助你了解远程分支的最新提交情况。
Other
- 如果你使用 VS Code,可借助 git 相关的插件来提高你的工作效率(比如:Git Graph)
- 如果你只需要托管到 Github 平台,可尝试使用
Github Desktop图形工具
相关文章:
Git-速查
Git 安装 Git 之后,你可以… 配置全局用户信息(推荐) 全局设置,创建本地仓库时默认分支名称为 main(你需要什么名称就该什么名称)【推荐配置为 main 】 git config --global init.defaultBranch main全…...
Spring Boot嵌入式服务器深度解析:从配置到调优的全方位指南
文章目录 引言一、嵌入式服务器核心原理1.1 架构设计特点1.2 主流服务器对比 二、嵌入式服务器配置实战2.1 基础配置模板2.2 HTTPS安全配置 三、高级调优策略3.1 线程池优化(Tomcat示例)3.2 响应压缩配置3.3 访问日志配置 四、服务器切换实战4.1 切换至U…...
深入解析浏览器渲染全流程:从URL输入到页面渲染的底层原理与性能优化(附实战代码)
本文以https://example.com为例,逐层剖析浏览器从输入URL到页面渲染的完整链路,涵盖DNS解析、TCP/TLS握手、HTTP请求、DOM/CSSOM构建等核心阶段,结合代码示例与性能调优技巧,助你掌握浏览器底层运行机制。 一、导航阶段࿱…...
【网络安全】常见的web攻击
1、SQL注入攻击 定义: 攻击者在HTTP请求中注入恶意的SQL代码,当服务器利用参数构建SQL语句的时候,恶意的SQL代码被一起构建,并在数据库中执行。 示例: 用户登录: 输入用户名xx, 密码 or 1 …...
MySQL面试学习
MySQL 1.事务 事务的4大特性 事务4大特性:原子性、一致性、隔离性、持久性 原⼦性: 事务是最⼩的执⾏单位,不允许分割。事务的原⼦性确保动作要么全部完成,要么全不执行一致性: 执⾏事务前后,数据保持⼀…...
一文读懂Docker之Docker Compose
目录 一、Docker Compose简介 二、Docker Compose的安装和基本使用 1、Docker Compose的安装 步骤一、下载docker-compose 步骤二、新增可执行权限 步骤三、查看是否安装成功 2、Docker Compose的基本使用 (1)、docker-compose up (2)、docker-compose ps (3)、docke…...
escape SQL中用法
select * from tablename where username like %#%% escape # 这个的意思就是,escape指定字符#,#字符后面的第一个字符被认为是普通字符 查询示例2 查询username字段中包含[的数据也是一样,即: select * from tablename where us…...
Cherno C++ P57 Standard array处理静态数组
这篇文章当中我们讲一下如何使用C自带的standard array来处理静态数组。 首先什么是静态数组,静态数组通常指的是不会增长的数据,长度是已经确定了的。我们在定义数组的时候就必须确定好长度与类型。 其次C当中也确实给我们提供了一些可以用来处理静态…...
linux学习【7】Sourc Insight 4.0设置+操作
目录 1.Source Insight是什么?2.需要哪些配置?3.怎么新建项目4.一些问题的解决1.中文乱码问题 5.常规使用1. 在工程中打开文件2. 在文件中查看函数或变量的定义3. 查找函数或变量的引用4. 快捷键 按照这个设置就可以了,下面的设置会标明设置理…...
JDK、Hadoop下载地址
一、Oracle JDK https://www.oracle.com/java/technologies/downloads/ 刚进去是最新的版本,往下滑可以看到老版本 二、Open JDK的 Azul Zulu https://www.azul.com/downloads/ 直接可以选版本等选项卡 三、Hadoop Apache Download Mirrors...
【小白向超详细】使用 VSCode 远程连接 Linux 服务器详细教程
使用 VSCode 远程连接 Linux 服务器详细教程 前提条件 已安装 VSCode。已在 VSCode 中安装 Remote - SSH 插件。目标 Linux 服务器 开启了 SSH 服务,并可以通过 SSH 访问。本地电脑已安装 SSH 客户端(Linux 和 macOS 自带,Windows 用户可以…...
设计心得——解耦的实现技术
一、说明 在前面的“设计心得——解耦”中,对解耦进行了高层次的抽象说明。本篇则对在实践中常用的解耦技术进行逐一分析说明,以期为开发者能更从理论到实践搭建一个桥梁。至于大家能够如何更好的在自己的项目中进行解耦的实践,就需要不断的…...
计算机毕业设计SpringBoot+Vue.jst在线文档管理系统(源码+LW文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
在windows下安装windows+Ubuntu16.04双系统(下)
这篇文章的内容主要来源于这篇文章,为正式安装windowsUbuntu16.04双系统部分。在正式安装前,若还没有进行前期准备工作(1.分区2.制作启动u盘),见《在windows下安装windowsUbuntu16.04双系统(上)》 二、正式安装Ubuntu …...
一文讲解Redis为什么读写性能高以及I/O复用相关知识点
Redis为什么读写性能高呢? Redis 的速度⾮常快,单机的 Redis 就可以⽀撑每秒十几万的并发,性能是 MySQL 的⼏⼗倍。原因主要有⼏点: ①、基于内存的数据存储,Redis 将数据存储在内存当中,使得数据的读写操…...
TPU(Tensor Processing Unit)详解
一、什么是TPU? TPU(Tensor Processing Unit,张量处理器)是谷歌专门为机器学习任务设计的定制化ASIC芯片,旨在加速神经网络训练与推理。其核心目标是针对矩阵运算(如矩阵乘加)优化硬件架构&…...
Ubuntu20.04.2安装Vmware tools
软件版本:Vmware Workstation Pro 17.6.2 操作系统镜像文件:ubuntu-20.04.2-desktop-amd64 方式1:用iso镜像安装 没用这种方法,太麻烦 方式2:用apt安装Open VM Tools 如果你使用的是较新的Ubuntu版本(如…...
检测服务端口是否开放的常用方法
检测服务端口是否开放的常用方法 文章目录 检测服务端口是否开放的常用方法背景使用nc命令使用 telnet 命令使用 curl 命令使用 openssl 命令使用 Python 脚本,socket连接使用 bash 内建命令:使用 nmap:总结 背景 有时候需要测试网络是否连通,端口是否开放…...
muduo源码阅读:socket常见操作及一些补充
TCP连接和释放 一个典型的TCP连接、通信过程: (假设有资源的一端是服务器端) 服务器会启用一个监听循环,不断接受client连接请求(三次握手建立连接), 进行数据通信,通信完成以后断开连接(四次挥手断开连接)。 对于…...
虚拟表格实现全解析
在数据展示越来越复杂的今天,大量数据的渲染就像是“满汉全席”——如果把所有菜肴一次性摆上桌,既浪费资源也让人眼花缭乱。幸运的是,我们有两种选择: 自己动手:通过二次封装 Element Plus 的表格组件,实…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
