git常见的命令,问题和处理方式
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
这只是一些参考,具体请移步官网:Git
git init- 初始化一个新的 Git 仓库。
git clone <仓库地址>- 克隆(下载)一个远程仓库到本地。
git add <文件名>- 将文件添加到暂存区。
git commit -m "<提交信息>"- 将暂存区的文件提交到本地仓库并附上提交信息。
git status- 显示工作目录和暂存区的状态。
git push <远程主机名> <分支名>- 将本地仓库的修改推送到远程仓库。
git pull <远程主机名> <分支名>- 从远程仓库拉取最新的修改并合并到本地仓库。
git branch- 显示当前仓库的所有分支。
git checkout <分支名>- 切换到指定的分支。
git merge <分支名>- 将指定分支的更改合并到当前分支。
git remote add <远程主机名> <仓库地址>- 添加远程仓库。
git log- 显示提交历史记录。
git diff- 显示工作目录和暂存区之间的差异。
git reset <文件名>- 取消将文件的更改添加到暂存区。
git rm <文件名>- 从版本控制中移除文件。
git remote -v- 显示远程仓库的详细信息,包括名称和地址。
git fetch <远程主机名>- 从远程仓库获取最新的修改,但不进行合并。
git branch -a- 显示本地和远程所有分支的列表。
git checkout -b <新分支名>- 创建一个新的分支并切换到该分支。
git merge --no-ff <分支名>- 执行非快速合并,保留分支历史记录。
git push -u <远程主机名> <分支名>- 将本地的分支推送到远程仓库,并设置为默认上游分支。
git stash save "<描述信息>"- 将当前的工作目录中的更改保存到堆栈中。
git stash list- 显示所有保存在堆栈中的变更列表。
git stash apply- 应用最近的堆栈中的更改,但不将其从堆栈中删除。
git cherry-pick <提交号>- 提取指定提交的更改,并将其应用到当前分支。
git rebase <目标分支名>- 将当前分支的提交移到目标分支的顶部。
git tag <标签名>- 在当前提交上创建一个标签。
git remote show <远程主机名>- 显示与指定远程主机相关的更多信息,如分支跟踪等。
git clean -n- 列出将被删除的未跟踪文件。
git config --global user.name "<用户名>"- 设置全局用户名。
git config --global user.email "<邮箱地址>"- 设置全局邮箱地址。
在使用 Git 进行代码管理时,可能会遇到一些常见的问题。以下是几个常见问题及其处理方式。
-
冲突(Conflict):当多个人同时修改同一文件的同一部分时,会导致冲突。处理方式如下:
- 使用
git status命令查看冲突文件。 - 打开冲突文件,手动解决冲突。
- 使用
git add <文件名>将解决冲突后的文件标记为已解决。 - 继续进行提交
git commit。
- 使用
-
错误的分支操作:可能会在错误的分支上进行了提交或合并操作。处理方式如下:
- 使用
git log命令查看提交历史,找到错误操作的提交。 - 使用
git reset <commit>将分支回退到正确的提交。 - 如果错误的提交已经推送到远程仓库,需要使用
git push -f强制推送来覆盖错误的提交。
- 使用
-
误删除文件:有时候可能会意外删除了文件。处理方式如下:
- 使用
git status命令查看被删除的文件。 - 使用
git checkout -- <文件名>恢复被删除的文件。
- 使用
-
误提交敏感信息:有时候可能会将敏感信息,如密码或机密密钥,提交到了代码仓库。处理方式如下:
- 迅速撤销提交:使用
git revert <commit>撤销最新的提交,避免敏感信息泄露。
- 修改敏感信息后提交:修改敏感信息,然后使用
git commit --amend命令将修改后的内容追加到最新的提交中。
- 迅速撤销提交:使用
-
误删分支:有时候可能会意外删除了一个分支。处理方式如下:
- 使用
git reflog命令查看分支的操作日志,找到被删除的分支的最后一个提交的 SHA 值。 - 使用
git branch <分支名> <SHA>命令来重新创建被删除的分支。
- 使用
-
找不到 Git 命令:如果在命令行中输入 Git 命令时出现 "command not found" 或类似的错误消息,可能是由于没有正确安装或配置 Git 导致的。解决方式是确保 Git 已正确安装并添加到系统的环境变量中。
-
未跟踪的文件(Untracked files):当使用
git status命令时,会显示未跟踪的文件。解决方式如下:- 使用
git add <文件名>将文件添加到暂存区,以便进行版本管理。
- 使用
-
本地和远程分支不同步:当本地分支落后于远程分支时,无法推送或拉取更新。解决方式如下:
- 使用
git pull命令拉取远程分支的最新更改并合并到本地分支。 - 如果有冲突,请解决冲突后再次提交。
- 使用
-
远程主机不存在:当尝试与远程仓库交互时,可能会遇到 "remote 'origin' not found" 或类似的错误消息。解决方式如下:
- 使用
git remote add <远程主机名> <仓库地址>命令添加远程主机。 - 确保远程仓库的地址正确且可访问。
- 使用
-
无法推送到远程仓库:当尝试使用
git push命令将本地更改推送到远程仓库时,可能会遇到错误,例如权限被拒绝。解决方式如下:- 确保你具有推送到远程仓库的权限。
- 如果是第一次推送到该远程仓库,可以尝试使用
git push -u <远程主机名> <分支名>命令建立追踪关系。
-
提交被拒绝(Rejected):当尝试推送提交时,可能会遇到 "rejected" 错误消息。这通常是由于远程仓库上的代码已经发生了变化,与本地分支产生了冲突。解决方式如下:
- 使用
git pull拉取远程更新,并合并到本地分支。 - 解决冲突后,再次尝试推送提交。
- 使用
-
分支未完全合并(Not fully merged):当尝试删除一个包含未合并更改的分支时,可能会遇到 "not fully merged" 错误消息。这表示该分支上的更改没有被合并到主分支或其他目标分支。解决方式如下:
- 使用
git merge命令将目标分支上的更改合并到当前分支。 - 确保所有更改都已合并后,再尝试删除分支。
- 使用
-
无法切换分支(Cannot switch branches):当尝试切换分支时,可能会遇到 "cannot switch branches" 错误消息。这通常是因为在当前分支上有未提交的更改,切换分支会导致冲突。解决方式如下:
- 使用
git stash命令将当前分支上的更改保存到堆栈中。 - 切换到目标分支。
- 使用
git stash pop命令将之前保存的更改应用到目标分支上。
- 使用
-
文件名过长(Filename too long):当 Git 在 Windows 系统上遇到过长的文件名时,可能会报错 "filename too long"。这是由于 Windows 对文件路径长度有限制导致的。解决方式如下:
- 缩短文件名或文件路径。
- 移动文件到较短路径下。
- 使用 Git 的长路径支持(Git 2.15+ 版本),可以通过设置
git config --system core.longpaths true来启用。
初见乍欢,久处仍怦然
相关文章:
git常见的命令,问题和处理方式
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方…...
Ubuntu环境下超好用的文件对比工具软件meld
Ubuntu环境下超好用的文件对比工具软件_ubuntu 代码比较工具_Calculation K的博客-CSDN博客...
Channel是什么?FileChannel类的常用方法
Channel 是一个接口对象,它类似于传统的流对象,但与传统的流对象又有些不同,具体表现如下: • Channel可以异步地执行I/O读写操作。 • Channel的读写操作是双向的,既可以从 Channel中读取数据,又可以写数据到Channel,而流的读写操作通常都是单向的。 • Channel…...
Python爬虫——scrapy_读书网数据入库和链接跟进
数据入库 先创建一个数据库 create table book(id int primary key auto_increment,name varchar(128),src varchar(128));settings.py DB_HOST 169.254.38.183 # 端口号是一个整数 DB_PORT 3306 DB_USER root DB_PASSWORD 123456 # 数据库名称 DB_NAME spider01 DB_CHA…...
前端常用linux命令
前端开发也需要掌握一些常用的linux命令,以便在linux系统上做一些操作如nginx代理配置,项目解压发布等 1、cd 切换目录 cd / //切换到根目录 cd directory_path //切换到directory_path目录 cd ../ //切换到上一级目录2、ls 列出目录内容 ls3…...
制作高质量SVG的最佳工具,这些编辑软件你需要知道!
作为前端开发者,想要学习更高级的可视化技术,SVG 编辑工具是必学的。与其他图像格式相比,SVG 图像可任意缩放而不损失质量,还可以实现交互动画效果,一个好的 SVG 编辑器能大大简化你的学习过程。下面就跟随小编一起看看…...
四、MySQL性能优化
1、SQL性能优化 1、如何分析SQL的性能? 我们可以使用EXPLAIN命令来分析SQL的执行计划 ,执行计划是指一条SQL语句在经过MySQL查询优化器的选择后具体的执行方式 EXPLAIN并不会真的去执行相关的语句,而是通过查询优化器 对语句进行分析&…...
Oracle Database12c数据库官网下载和安装教程
文章目录 下载安装Oracle自带的客户端工具使用 下载 进入oracle官网 点击下载连接之后右上角会有一个下载 我们只需要数据库本体就够了 运行这个下载器 等待下好之后即可 出现 Complete 之后代表下载成功,然后我们解压即可 安装 双击 双击setup.exe 根据…...
spring依赖注入详解(下)
Autowired注解依赖注入过程 一、findAutowireCandidates()实现 找出BeanFactory中类型为type的所有的Bean的名字,注意是名字,而不是Bean对象,因为我们可以根据BeanDefinition就能判断和当前type是不是匹配,不用生成Bean对象把re…...
python的dataframe常用处理方法
import pandas as pdclass DataFrameProcessor:staticmethoddef sort_by_column(df, by_column, ascendingTrue):"""根据指定列对DataFrame进行排序。Parameters:df (pd.DataFrame): 要排序的DataFrame。by_column (str): 要排序的列名。ascending (bool): True…...
k8s 自身原理之高可用
说到高可用,咱们在使用主机环境的时候(非 k8s),咱做高可用有使用过这样的方式: 服务器做主备部署,当主节点和备节点同时存活的时候,只有主节点对外提供服务,备节点就等着主节点挂了…...
游乐场vr设备虚拟游乐园vr项目沉浸体验馆
在景区建设一个VR游乐场项目可以为游客提供一种新颖、刺激和沉浸式的游乐体验。提高游客的体验类型,以及景区的类目,从而可以吸引更多的人来体验。 1、市场调研:在决定建设VR游乐场项目之前,需要进行市场调研,了解当地…...
window10安装并使用oracle
1、现在oracle19c或者21c,下载链接如下 Database Software Downloads | Oracle 中国 2、安装好之后, 2.1PL/SQL连接方式 命令窗口输入sqlplus conn as sysdba 2.2DBeaver连接 输入IP、 端口默认1521 数据库默认是ORCL 用户名是system 角色是N…...
[Mac软件]AutoCAD 2024 for Mac(cad2024) v2024.3.61.182中文版支持M1/M2/intel
下载地址:前往黑果魏叔官网 AutoCAD是一款计算机辅助设计(CAD)软件,目前已经成为全球最受欢迎的CAD软件之一。它可以在二维和三维空间中创建精确的技术绘图,并且可以应用于各种行业,如建筑、土木工程、机械…...
Oracle 主从库目录不一致(异路径)的n种处理方案及效果
最近遇到了复制数据(DUPLICATE TARGET DATABASE TO xxx)的时候 Oracle 源和目标库目录不一致的问题,比较初级但也踩到一些坑,整理记录一下。主从库搭建的时候注意事项其实也类似,而且更通用,所以标题写的是…...
创建型(一) - 简单工厂模式、工厂方法模式和抽象工厂模式
本文使用了王争老师设计模式课程中的例子,写的很清晰,而且中间穿插了代码优化。 由于设计模式就是解决问题的一种思路,所以每个设计模式会从问题出发,这样比较好理解设计模式出现的意义。 一、简单工厂模式 解决问题:…...
LeetCode3.无重复字符的最长子串
虽然是一道中等题,但我5分钟就写完了,而且是看完题就知道怎么写,这一看就知道双指针,一个左一个右,右指针往后移如果没有重复的长度1;如果有重复的,左指针往右移,那如何判断重复呢&a…...
鲁图中大许少辉博士八一新书《乡村振兴战略下传统村落文化旅游设计》山东省图书馆典藏
鲁图中大许少辉博士八一新书《乡村振兴战略下传统村落文化旅游设计》山东省图书馆典藏...
如何发布自己的小程序
小程序的基础内容组件 text: 文本支持长按选中的效果 <text selectable>151535313511</text> rich-text: 把HTML字符串渲染为对应的UI <rich-text nodes"<h1 stylecolor:red;>123</h1>"></rich-text> 小程序的…...
【微服务】spring 条件注解从使用到源码分析详解
目录 一、前言 二、spring 条件注解概述 2.1 条件注解Conditional介绍 2.2 Conditional扩展注解 2.2.1 Conditional扩展注解汇总 三、spring 条件注解案例演示 3.1 ConditionalOnBean 3.2 ConditionalOnMissingBean 3.2.1 使用在类上 3.2.2 使用场景补充 3.3 Condit…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...
鸿蒙(HarmonyOS5)实现跳一跳小游戏
下面我将介绍如何使用鸿蒙的ArkUI框架,实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...
结构化文件管理实战:实现目录自动创建与归类
手动操作容易因疲劳或疏忽导致命名错误、路径混乱等问题,进而引发后续程序异常。使用工具进行标准化操作,能有效降低出错概率。 需要快速整理大量文件的技术用户而言,这款工具提供了一种轻便高效的解决方案。程序体积仅有 156KB,…...
Netty自定义协议解析
目录 自定义协议设计 实现消息解码器 实现消息编码器 自定义消息对象 配置ChannelPipeline Netty提供了强大的编解码器抽象基类,这些基类能够帮助开发者快速实现自定义协议的解析。 自定义协议设计 在实现自定义协议解析之前,需要明确协议的具体格式。例如,一个简单的…...
GB/T 43887-2024 核级柔性石墨板材检测
核级柔性石墨板材是指以可膨胀石墨为原料、未经改性和增强、用于核工业的核级柔性石墨板材。 GB/T 43887-2024核级柔性石墨板材检测检测指标: 测试项目 测试标准 外观 GB/T 43887 尺寸偏差 GB/T 43887 化学成分 GB/T 43887 密度偏差 GB/T 43887 拉伸强度…...
