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

git学习日志

你看到的是 Vim 文本编辑器的界面,并非 git 的窗口。这是你通过 vim hello.txt 命令打开的新文件。以下是分步操作指南:


1. 进入编辑模式

  • 按下键盘上的 i 键(进入 “INSERT” 模式),此时左下角会显示 -- INSERT --
  • 现在可以输入文本,例如:
    Hello, world!
    

2. 保存并退出

  • 按下 Esc 键退出编辑模式(回到 “NORMAL” 模式)。
  • 输入 :wq 并按回车(保存文件并退出 Vim):
    • :w 表示保存(write)
    • :q 表示退出(quit)

3. 验证文件内容

  • 退出 Vim 后,在终端输入 cat hello.txt,会显示你写入的内容:
    Hello, world!
    

关键快捷键总结

操作按键
进入编辑模式i
退出编辑模式Esc
保存并退出Esc 后输入 :wq + 回车
不保存强制退出Esc 后输入 :q! + 回车

常见问题

  • 如果卡在 Vim 中无法退出,确保先按 Esc 回到普通模式,再输入 :q! 强制退出。
  • 你看到的 0,0-1 All 表示当前光标位置和文件状态,这是 Vim 的正常界面提示。

main和master

你的推送被拒绝是因为远程仓库的 main 分支有本地不包含的新提交(例如直接在 GitHub 网页修改了文件,或从其他设备推送过代码)。以下是解决方案:


原因分析

  • 根本问题:本地分支的提交历史与远程分支 分叉(即远程分支有本地没有的提交)。
  • Git 保护机制:Git 默认禁止覆盖远程历史(除非强制推送),因此提示 non-fast-forward 错误。

解决方案

方法 1:合并远程变更(推荐)

此方法会保留远程和本地的所有提交记录。

  1. 拉取远程最新代码并合并

    git pull origin main
    
    • 如果提示冲突,需手动解决(见下文 冲突解决 部分)。
  2. 重新推送代码

    git push origin main
    

方法 2:变基操作(适合熟悉 Git 的用户)

此方法将本地提交“嫁接”到远程最新提交之后,保持提交历史线性。

  1. 拉取远程代码并变基

    git pull --rebase origin main
    
    • 如果冲突,解决后运行 git rebase --continue
  2. 推送代码

    git push origin main
    

方法 3:强制推送(谨慎使用!)

此方法会 覆盖远程分支,仅在你明确需要丢弃远程修改时使用!

git push --force origin main
# 或更安全的强制推送(保留未被覆盖的提交)
git push --force-with-lease origin main

冲突解决流程

如果 git pullgit rebase 提示冲突:

  1. 打开冲突文件,找到类似以下标记:
    <<<<<<< HEAD
    本地修改的内容
    =======
    远程修改的内容
    >>>>>>> 提交哈希值
    
  2. 手动编辑文件,删除冲突标记并保留需要的代码。
  3. 标记冲突已解决
    git add 冲突文件名
    
  4. 继续操作
    • 如果是 git pull(合并冲突):
      git commit -m "Merge remote changes"
      
    • 如果是 git rebase
      git rebase --continue
      

操作总结

场景命令说明
拉取并合并git pull origin main保留所有提交历史,适合大多数情况
拉取并变基git pull --rebase origin main保持线性提交历史,适合整理本地提交
强制推送git push --force origin main覆盖远程分支,慎用!

如何避免此问题?

  1. 推送前先拉取:养成习惯,每次 git push 前先运行 git pull
  2. 减少直接网页修改:尽量避免在 GitHub 网页直接修改代码,优先通过本地操作。

如果仍有问题,请提供 git log --graph --oneline --all 的输出,我会进一步帮你分析分支关系!

常用命令

你可以使用以下命令添加所有未跟踪文件:

正确命令:

git add .       # 添加当前目录及子目录所有新文件和修改文件(推荐)
git add -A      # 添加仓库中所有新文件、修改文件和删除文件
git add --all   # 同上(-A 的完整写法)

操作步骤演示

# 1. 添加所有文件
git add .# 2. 查看状态(应看到文件变为待提交状态)
git status# 3. 提交文件
git commit -m "添加所有初始文件"# 4. 推送到远程仓库(可选)
git push origin main

附加说明

命令作用范围适用场景
git add .当前目录及子目录(新增/修改)大多数情况
git add -A整个仓库(新增/修改/删除)需要同步删除操作时
git add filename指定单个文件需要选择性添加时

常见问题排查

如果仍然无法添加文件:

  1. 检查文件是否真实存在:
    ls -l dataPart1-2.py ultralytics/  # 查看具体文件
    
  2. 检查是否被 .gitignore 文件过滤:
    cat .gitignore  # 查看忽略规则
    
  3. 检查文件路径是否正确(注意大小写敏感)

相关文章:

git学习日志

你看到的是 Vim 文本编辑器的界面&#xff0c;并非 git 的窗口。这是你通过 vim hello.txt 命令打开的新文件。以下是分步操作指南&#xff1a; 1. 进入编辑模式 按下键盘上的 i 键&#xff08;进入 “INSERT” 模式&#xff09;&#xff0c;此时左下角会显示 -- INSERT --。现…...

数字孪生废气处理工艺流程

图扑数字孪生废气处理工艺流程系统。通过精准 3D 建模&#xff0c;对废气收集、预处理、净化、排放等全流程进行 1:1 数字化复刻&#xff0c;实时呈现设备运行参数、污染物浓度变化等关键数据。 借助图扑可视化界面&#xff0c;管理者可直观掌握废气处理各环节状态&#xff0c…...

iPhone 13P 换超容电池,一年实记的“电池循环次数-容量“柱状图

继上一篇 iPhone 13P 更换"移植电芯"和"超容电池"&#x1f50b;体验&#xff0c;详细记录了如何更换这两种电池&#xff0c;以及各自的优略势对比。 一晃一年过去&#xff0c;时间真快&#xff0c;这次分享下记录了使用超容电池的 “循环次数 - 容量(mAh)…...

豆瓣图书数据采集与可视化分析(二)- 豆瓣图书数据清洗与处理

文章目录 前言一、查看数据基本信息二、拆分pub列三、日期列处理四、价格列处理五、出版社列处理六、评价人数列处理七、缺失值处理八、重复数据处理九、异常值处理十、完整代码十一、清洗与处理后的数据集展示 前言 豆瓣作为国内知名的文化社区&#xff0c;拥有庞大且丰富的图…...

【Sa-Token】学习笔记05 - 踢人下线源码解析

目录 前言 强制注销 踢人下线 源码解析 前言 所谓踢人下线&#xff0c;核心操作就是找到指定 loginId 对应的 Token&#xff0c;并设置其失效。 上图为踢人下线后&#xff0c;前端应该用图像给出来让用户重新登录&#xff0c;而不是让前端收到一个描述着被下线 的JSON 强…...

Linux | I.MX6ULL 文件系统

01 本节所有的测试程序需要开发板有 Qt 环境来运行。我们提供的文件系统是由 yocto 裁剪整理得来的。之后我们会整理一份单独移植的 qt 系统。方便用户移植第三方软件。如果用户的文件系统非我们的出厂版本,请参考之前烧写章节重新烧写出厂文件系统。开发板启动需要输入登录…...

Python3基础语法

一&#xff1a;注释 Python中用#表示单行注释&#xff0c;#之后的同行的内容都会被注释掉。 使用三个连续的双引号表示多行注释&#xff0c;两个多行注释标识之间内容会被视作是注释。 二&#xff1a;基础变量类型与操作符 1. 除法 * 除法 / python3中就算是两个整数相除&a…...

QEMU源码全解析 —— 块设备虚拟化(20)

接前一篇文章:QEMU源码全解析 —— 块设备虚拟化(19) 本文内容参考: 《趣谈Linux操作系统》 —— 刘超,极客时间 《QEMU/KVM源码解析与应用》 —— 李强,机械工业出版社 特此致谢! 上一回大致解析了drive_new函数,本回重点对于drive_new函数中调用的blockdev_init函…...

JavaScript 笔记 --- part 4 --- Web API (part 2)

(webAPI part2) DOM 基本操作 事件流 定义: 指的是事件完整执行过程中的流动路径 捕获阶段: 事件从最外层的窗口对象开始&#xff0c;逐层向内传播到目标元素&#xff0c;并触发相应的事件处理程序。 冒泡阶段: 事件从目标元素开始&#xff0c;逐层向外传播到最外层的窗口对象…...

从入门到精通汇编语言 第六章(中断及外部设备操作)

参考教程&#xff1a;通俗易懂的汇编语言&#xff08;王爽老师的书&#xff09;_哔哩哔哩_bilibili 一、移位指令 1、8个移位指令 &#xff08;1&#xff09;逻辑左移指令SHL&#xff1a;SHL OPR, CNT。 ①OPR为操作数&#xff0c;CNT为左移位数&#xff0c;该指令将OPR视作…...

PySide6 GUI 学习笔记——常用类及控件使用方法(常用类尺寸QSizeF)

QSizeF 类&#xff08;浮点尺寸类&#xff09; 文章目录 QSizeF 类&#xff08;浮点尺寸类&#xff09;概述主要方法列表详细说明及应用举例注意事项 概述 QSizeF 类使用浮点精度定义二维对象的尺寸。官方文档在这里。 主要方法列表 __init__(self) …...

操作系统中的虚拟化技术深度对话

操作系统中的虚拟化技术深度对话 参与者&#xff1a;系统工程师&#xff08;Engineer&#xff09;、开发者&#xff08;Developer&#xff09;、学生&#xff08;Student&#xff09; 1. 虚拟化的基本概念 Student&#xff1a;虚拟化到底是什么&#xff1f;为什么操作系统需要…...

第35讲:构建属于自己的遥感大模型平台,并接入地理数据工作流

目录 🌍 写在前面 一、为什么要构建属于自己的遥感大模型平台? 二、核心技术选型推荐 ✅ 前端部分 ✅ 后端部分 ✅ 部署平台 三、平台架构设计思路 四、案例实战:构建一个在线遥感分割平台 📌 第一步:模型服务封装(FastAPI) 📌 第二步:前端上传与展示(L…...

langchain-nextjs-template 模板安装与配置

前提条件&#xff1a; node安装yarn 安装&#xff1a;npm install -g yarn 目录 1. 克隆项目2. 安装依赖3. 配置环境变量4. 修改模型配置5. 启动开发服务器6. 项目结构说明7. 功能说明8. 自定义提示模板部分过程文件截图 1. 克隆项目 首先&#xff0c;从 GitHub 克隆 LangCha…...

安卓单机斗地主,具备休闲挑战等多模式

软件介绍 斗地主单机版是一款超适合在安卓设备上玩的游戏。当你周末玩网游玩累了的时候&#xff0c;它就是个很不错的选择哦。 多种模式可选 这个斗地主单机版有不同的模式呢&#xff0c;有休闲模式、挑战模式、炸弹场和大师赛。你可以根据自己的喜好随意挑选模式&#xff0c…...

电解电容失效分析过程、失效分析报告

参考&#xff1a; 深度剖析关键电子元器件电解电容内部故障隐患 电解电容的参数指标 电路板中电解电容是存在寿命的&#xff0c;电解电容中的电解液随着时间会慢慢减少导致电容容值降低&#xff0c;最终导致电源出现问题。相信大家都见过电解电容鼓包的情况。 所以做设计的时…...

Ubuntu修改Swap交换空间大小

前言&#xff1a; 安装Ubuntu系统时&#xff0c;选择了默认空间分配方案&#xff0c;Swap空间仅1G&#xff0c;而实际的物理内存有32G&#xff0c;分给Swap空间至少为内存的1倍&#xff0c;最好是内存值的2倍&#xff0c;系统相当卡顿&#xff0c;重做系统后&#xff0c;费力部…...

SpringBoot 知识图谱

预警:本文非常长,建议先 mark 后看,也许是最后一次写这么长的文章说明:前面有 4 个小节关于 Spring 的基础知识,分别是:IOC 容器、JavaConfig、事件监听、SpringFactoriesLoader 详解,它们占据了本文的大部分内容,虽然它们之间可能没有太多的联系,但这些知识对于理解 …...

智谱开源新一代GLM模型,全面布局AI智能体生态

2024年4月15日&#xff0c;智谱在中关村论坛上正式发布了全球首个集深度研究与实际操作能力于一体的AI智能体——AutoGLM沉思。这一革命性技术的发布标志着智谱在AGI&#xff08;通用人工智能&#xff09;领域的又一次重要突破。智谱的最新模型不仅推动了AI智能体技术的升级&am…...

一文读懂Python之numpy模块(34)

一、模块简介 numpy是Python语言中做科学计算的基础库&#xff0c;重在于数值计算&#xff0c;有一个强大的N维数组对象Array&#xff0c;同时NumPy 提供了大量的库函数和操作&#xff0c;可以帮助程序员轻松地进行Array数值计算。 numpy在数据分析和机器学习领域被广泛使用。…...

Lora 微调自定义device_map

Lora 微调自定义device_map 首先查看模型权重参数配置model.safetensors.index.json 查看多少解码器 这里的layer可以理解为解码器层,后面有qkv,bais,layernomal等 # 显卡数量 num_gpus = 5 # 总层数 num_layers = 28layers_per_gpu = num_layers // num...

二叉树的顺序结构及实现

一.二叉树的顺序结构 二.堆的概念及结构 三.堆的实现 一.二叉树的顺序结构 普通的二叉树是不适合用数组来存储的&#xff0c;因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结构存储。现实中我们通常把堆 ( 一种二叉树 ) 使用顺序结构的数组来存储。 二.堆的概念…...

python生成项目依赖文件requirements.txt

文章目录 通过pip freeze去生成通过pipreqs去生成 通过pip freeze去生成 pip freeze > requirements.txt会将整个python的Interceptor的环境下lib包下所有的依赖都生成到这个文件当中&#xff0c;取决于我们使用的python的版本下所有的安装包。不建议使用这种方式&#xff…...

Cribl 对Windows-xml log 进行 -flatten-03

The Flatten Function Description​ The Flatten Function is used to flatten fields out of a nested structure. Lets flatten the _raw JSON object, to further reduce the events size before we send it to the intended destination(s). Steps – Adding a Flatten…...

Java优雅实现判空方法

在 Java 开发中&#xff0c;频繁的 if (obj ! null) 判空代码会导致代码冗余、可读性差&#xff0c;且容易遗漏判空导致 NullPointerException。以下从 语言特性、设计模式、工具类 和 编码规范 四个维度&#xff0c;结合实际案例&#xff0c;详解如何优雅处理空值问题。 一、…...

leetcode 1035. Uncrossed Lines

题目描述 本题本质上就是求nums1和nums2的最长公共子序列的长度。因此本题本质上与第1143题一模一样。 代码&#xff1a; class Solution { public:int maxUncrossedLines(vector<int>& nums1, vector<int>& nums2) {//本题等价于求nums1和nums2的最长公…...

windows上部署本地知识库(RAG)ollama + docker + ragflow方案

一、部署ollama 如何部署本地部署ollama参照我另一篇博客:Windows安装ollama部署本地大模型_ollama 在哪里运行的大模型-CSDN博客 二、部署docker 1、下载docker: 下载地址: Docker: Accelerated Container Application Development 2、winds(winds11)安装或者更新ws…...

多Agent框架及协作机制详解

文章目录 一、多智能体系统介绍1.1 多智能体系统定义1.2 多智能体协作1.3 协作类型1.4 协作策略1.5 通信结构1.6 协调与编排 1.3 多智能体与单智能体对比1.4 应用场景 二、多Agent开发框架AutoGenMetaGPTLangGraphSwarmCrewAI 三、多智能体协作方式3.1 MetaGPT&#xff1a;SOP驱…...

Cribl 对Windows-xml log 进行 -Removing filed-06

Removing Fields Description​ The Eval Function can be used to add or remove fields. In this example we will remove the extracted fields while preserving _raw, _time,index,source, sourcetype. Steps - Adding an Eval Function...

Linux 常用指令用户手册

Linux 常用指令用户手册 适合新手入门 & 日常速查 目录 基础操作文件与目录管理权限与所有权文本处理压缩与解压系统监控网络操作进程管理实用小技巧 1. 基础操作 1.1 查看系统信息 # 查看内核版本 uname -a# 查看系统发行版信息&#xff08;适用于 Debian/Ubuntu&…...

Java EE(20)——线程安全——ThreadLocal

1.前言 在面的线程安全相关的博文中&#xff0c;解决线程安全问题的方法主要使用synchronized和volatile两个关键字。引发线程安全问题的根本原因是多个线程同时对共享变量进行写操作&#xff0c;而上述两个关键字并没有改变"多个线程写同一个变量"这个情况。以sync…...

树莓派超全系列教程文档--(36)树莓派条件过滤器设置

树莓派条件过滤器设置 条件过滤器[all] 过滤器型号过滤器[none] 过滤器[tryboot] 过滤器[EDID*] 过滤器序列号过滤器GPIO过滤器组合条件过滤器 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 条件过滤器 当将单个 SD 卡&#xff08;或卡图像&am…...

Vue3核心源码解析

/packages/complier-core 定位​​&#xff1a;​​编译时核心​​&#xff0c;处理 Vue 模板的编译逻辑。​​核心功能​​&#xff1a; ​​模板解析​​&#xff1a;将 .vue 文件的模板语法&#xff08;HTML-like&#xff09;解析为 ​​抽象语法树 (AST)​​。​​转换优化…...

JavaScript解密实战指南:从基础到进阶技巧

JavaScript加密技术广泛应用于数据保护、反爬虫和代码混淆&#xff0c;但掌握解密方法能帮助开发者突破技术壁垒。本文结合爬虫实战与安全分析场景&#xff0c;系统梳理JS解密的核心方法与工具。 一、基础解密方法 1. Base64解码 适用于简单编码场景&#xff0c;如Cookie加密…...

指针(2)

1.数组名的理解 使用指针访问数组的内容时&#xff0c;有这样的代码&#xff1a; int arr[10]{1,2,3,4,5,6,7,8,9,10}int * p&arr[0]; &arr[0] 的方式拿到了数组的第一个元素的地址&#xff0c;但是其实数组名本来就是地址&#xff0c;而且还是首元素的地址&#xf…...

Android开发中广播(Broadcast)技术详解

在 Android 开发中&#xff0c;广播&#xff08;Broadcast&#xff09; 是一种广泛使用的组件通信机制&#xff0c;它允许应用程序在不直接交互的情况下传递消息。本文将详细讲解 Android 广播的基本概念、类型、发送与接收流程、使用场景及注意事项&#xff0c;并结合具体的代…...

Python网络爬虫设计(三)

目录 一、需要登录的爬虫 二、pyppeteer与requests库结合 1、cookie和session 三、其他 1、绝对网址和相对网址 2、sleep函数 一、需要登录的爬虫 在众多种类的页面中&#xff0c;不同的页面有不同的功能&#xff0c;有的是进行展示的&#xff0c;而有的则是登录类的。在…...

【深度学习—李宏毅教程笔记】各式各样的 Attention

目录 一、普通 Self-Attention 的痛点 二、对 Self-Attention 的优化方式 1、Local Attention / Truncated Attention 2、Stride Attention 3、Global Attention 4、知名的 Self-Attention 的变形的应用 &#xff08;1&#xff09;Longformer &#xff08;2&#xff09…...

leetcode 1143. Longest Common Subsequence

目录 题目描述 第一步&#xff0c;明确并理解dp数组及下标的含义 第二步&#xff0c;分析明确并理解递推公式 第三步&#xff0c;理解dp数组如何初始化 第四步&#xff0c;理解遍历顺序 代码 题目描述 这道题和第718题的区别就是&#xff0c;本题求的是最长公共子序列的长…...

Unity C\# 实战:从零开始为游戏添加背景音乐与音效 (AudioSource/AudioClip/AudioMixer 详解)

Langchain系列文章目录 01-玩转LangChain&#xff1a;从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块&#xff1a;四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain&#xff1a;从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…...

【代码解读】开源模型 minimind之pretrain

minimind原模型地址: https://github.com/jingyaogong/minimind 本文解读下开源模型minimind的预训练代码 train_pretrain.py&#xff0c;解释以代码注释的形式添加 1. 参数配置代码 parser argparse.ArgumentParser(description"MiniMind Pretraining") parser.ad…...

wordpress独立站的产品详情页添加WhatsApp链接按钮

在WordPress外贸独立站的产品展示页添加WhatsApp链接按钮&#xff0c;可以帮助客户更方便地与你联系。以下是实现这一功能的步骤&#xff1a; 方法一&#xff1a;使用HTML代码添加按钮 编辑产品展示页 进入WordPress后台&#xff0c;找到需要添加WhatsApp按钮的产品展示页。…...

从入门到精通汇编语言 第五章(流程转移与子程序)

参考教程&#xff1a;通俗易懂的汇编语言&#xff08;王爽老师的书&#xff09;_哔哩哔哩_bilibili 一、“转移”概述 1、转移的概念 &#xff08;1&#xff09;般情况下指令是顺序地逐条执行的&#xff0c;而在实际中&#xff0c;常需要改变程序的执行流程&#xff0c;这就…...

Redis下载

目录 安装包 1、使用.msi方式安装 2.使用zip方式安装【推荐方式】 添加环境变量 配置后台运行 启动&#xff1a; 1.startup.cmd的文件 2.cmd窗口运行 3.linux源码安装 &#xff08;1&#xff09;准备安装环境 &#xff08;2&#xff09;上传安装文件 &#xff08;3&…...

硬件工程师笔记——电子器件汇总大全

目录 1、电阻 工作原理 欧姆定律 电阻的物理本质 一、限制电流 二、分压作用 三、消耗电能&#xff08;将电能转化为热能&#xff09; 2、压敏电阻 伏安特性 1. 过压保护 2. 电压调节 3. 浪涌吸收 4. 消噪与消火花 5. 高频应用 3、电容 工作原理 &#xff08;…...

第一章,HCIA复习

抽象语言---->电信号抽象语言---编码 编码------二进制 二进制----电信号 OSI参考模型 TCP/IP模型&#xff08;4参考5对等&#xff09; 应用层&#xff1a;程序的编译过程&#xff1b;人机交互的接口。 表示层&#xff1a;数据格式化--->二进制 会话层&#xff1a;维护网…...

在 Debian 12 中恢复被删除的 smb.conf 配置文件

https://forum.ubuntu.com.cn/viewtopic.php?t494763 本文结合ai输出&#xff0c;内容中可能有些错误&#xff0c;但确实解决了我的问题&#xff0c;我采取保留完整输出的方式摘录。 在 Debian 12 中恢复被删除的 smb.conf 配置文件&#xff0c;需结合 dpkg 和 ucf&#xff08…...

Java开发软件

Main.java // 主类&#xff0c;用于测试学生管理系统 public class Main { public static void main(String[] args) { StudentManagementSystem sms new StudentManagementSystem(); // 添加学生 sms.addStudent(new Student(1, "Alice", 20)…...

SSRF学习

靶场 fofa搜&#xff1a;“重庆橙子科技”&#xff0c;里面找SSRF。 SSRF基础知识 绕过127限制 要查看127.0.0.1/flag.php&#xff0c;但是127被过滤。 绕过方法&#xff1a;使用不同的进制表示127.0.0.1即可。 二进制&#xff1a;01111111.00000000.00000000.00000001 八…...

使用virtualbox的HostOnly建立共享网络-实现虚拟机上网

目录 环境描述解决方案具体步骤1.新建一个virtual host-only ethernet adapter2.设置windows的wifi信号网络共享3.确认winows宿主网络信息3.1.wifi适配器的信息3.2.虚拟网卡的信息3.3.确认virtualbox中虚拟网卡的ip地址 4.虚拟机网卡设置5.虚拟机网络设置5.1.本地连接设置5.2.u…...