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

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 进行代码管理时,可能会遇到一些常见的问题。以下是几个常见问题及其处理方式。

  1. 冲突(Conflict):当多个人同时修改同一文件的同一部分时,会导致冲突。处理方式如下:
    • 使用 git status 命令查看冲突文件。
    • 打开冲突文件,手动解决冲突。
    • 使用 git add <文件名> 将解决冲突后的文件标记为已解决。
    • 继续进行提交 git commit
  2. 错误的分支操作:可能会在错误的分支上进行了提交或合并操作。处理方式如下:
    • 使用 git log 命令查看提交历史,找到错误操作的提交。
    • 使用 git reset <commit> 将分支回退到正确的提交。
    • 如果错误的提交已经推送到远程仓库,需要使用 git push -f 强制推送来覆盖错误的提交。
  3. 误删除文件:有时候可能会意外删除了文件。处理方式如下:
    • 使用 git status 命令查看被删除的文件。
    • 使用 git checkout -- <文件名> 恢复被删除的文件。
  4. 误提交敏感信息:有时候可能会将敏感信息,如密码或机密密钥,提交到了代码仓库。处理方式如下:
    • 迅速撤销提交:使用 git revert <commit> 撤销最新的提交,避免敏感信息泄露。
    1. 修改敏感信息后提交:修改敏感信息,然后使用 git commit --amend 命令将修改后的内容追加到最新的提交中。
  5. 误删分支:有时候可能会意外删除了一个分支。处理方式如下:
    • 使用 git reflog 命令查看分支的操作日志,找到被删除的分支的最后一个提交的 SHA 值。
    • 使用 git branch <分支名> <SHA> 命令来重新创建被删除的分支。
  6.  找不到 Git 命令:如果在命令行中输入 Git 命令时出现 "command not found" 或类似的错误消息,可能是由于没有正确安装或配置 Git 导致的。解决方式是确保 Git 已正确安装并添加到系统的环境变量中。
  7. 未跟踪的文件(Untracked files):当使用 git status 命令时,会显示未跟踪的文件。解决方式如下:
    • 使用 git add <文件名> 将文件添加到暂存区,以便进行版本管理。
  8. 本地和远程分支不同步:当本地分支落后于远程分支时,无法推送或拉取更新。解决方式如下:
    • 使用 git pull 命令拉取远程分支的最新更改并合并到本地分支。
    • 如果有冲突,请解决冲突后再次提交。
  9. 远程主机不存在:当尝试与远程仓库交互时,可能会遇到 "remote 'origin' not found" 或类似的错误消息。解决方式如下:
    • 使用 git remote add <远程主机名> <仓库地址> 命令添加远程主机。
    • 确保远程仓库的地址正确且可访问。
  10. 无法推送到远程仓库:当尝试使用 git push 命令将本地更改推送到远程仓库时,可能会遇到错误,例如权限被拒绝。解决方式如下:
    • 确保你具有推送到远程仓库的权限。
    • 如果是第一次推送到该远程仓库,可以尝试使用 git push -u <远程主机名> <分支名> 命令建立追踪关系。
  11. 提交被拒绝(Rejected):当尝试推送提交时,可能会遇到 "rejected" 错误消息。这通常是由于远程仓库上的代码已经发生了变化,与本地分支产生了冲突。解决方式如下:
    • 使用 git pull 拉取远程更新,并合并到本地分支。
    • 解决冲突后,再次尝试推送提交。
  12. 分支未完全合并(Not fully merged):当尝试删除一个包含未合并更改的分支时,可能会遇到 "not fully merged" 错误消息。这表示该分支上的更改没有被合并到主分支或其他目标分支。解决方式如下:
    • 使用 git merge 命令将目标分支上的更改合并到当前分支。
    • 确保所有更改都已合并后,再尝试删除分支。
  13. 无法切换分支(Cannot switch branches):当尝试切换分支时,可能会遇到 "cannot switch branches" 错误消息。这通常是因为在当前分支上有未提交的更改,切换分支会导致冲突。解决方式如下:
    • 使用 git stash 命令将当前分支上的更改保存到堆栈中。
    • 切换到目标分支。
    • 使用 git stash pop 命令将之前保存的更改应用到目标分支上。
  14. 文件名过长(Filename too long):当 Git 在 Windows 系统上遇到过长的文件名时,可能会报错 "filename too long"。这是由于 Windows 对文件路径长度有限制导致的。解决方式如下:
    • 缩短文件名或文件路径。
    • 移动文件到较短路径下。
    • 使用 Git 的长路径支持(Git 2.15+ 版本),可以通过设置 git config --system core.longpaths true 来启用。

 


初见乍欢,久处仍怦然

相关文章:

git常见的命令,问题和处理方式

Git 是一个开源的分布式版本控制系统&#xff0c;用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, Subversion 等不同&#xff0c;它采用了分布式版本库的方…...

Ubuntu环境下超好用的文件对比工具软件meld

Ubuntu环境下超好用的文件对比工具软件_ubuntu 代码比较工具_Calculation K的博客-CSDN博客...

Channel是什么?FileChannel类的常用方法

Channel 是一个接口对象,它类似于传统的流对象,但与传统的流对象又有些不同&#xff0c;具体表现如下: • 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命令&#xff0c;以便在linux系统上做一些操作如nginx代理配置&#xff0c;项目解压发布等 1、cd 切换目录 cd / //切换到根目录 cd directory_path //切换到directory_path目录 cd ../ //切换到上一级目录2、ls 列出目录内容 ls3…...

制作高质量SVG的最佳工具,这些编辑软件你需要知道!

作为前端开发者&#xff0c;想要学习更高级的可视化技术&#xff0c;SVG 编辑工具是必学的。与其他图像格式相比&#xff0c;SVG 图像可任意缩放而不损失质量&#xff0c;还可以实现交互动画效果&#xff0c;一个好的 SVG 编辑器能大大简化你的学习过程。下面就跟随小编一起看看…...

四、MySQL性能优化

1、SQL性能优化 1、如何分析SQL的性能&#xff1f; 我们可以使用EXPLAIN命令来分析SQL的执行计划 &#xff0c;执行计划是指一条SQL语句在经过MySQL查询优化器的选择后具体的执行方式 EXPLAIN并不会真的去执行相关的语句&#xff0c;而是通过查询优化器 对语句进行分析&…...

Oracle Database12c数据库官网下载和安装教程

文章目录 下载安装Oracle自带的客户端工具使用 下载 进入oracle官网 点击下载连接之后右上角会有一个下载 我们只需要数据库本体就够了 运行这个下载器 等待下好之后即可 出现 Complete 之后代表下载成功&#xff0c;然后我们解压即可 安装 双击 双击setup.exe 根据…...

spring依赖注入详解(下)

Autowired注解依赖注入过程 一、findAutowireCandidates()实现 找出BeanFactory中类型为type的所有的Bean的名字&#xff0c;注意是名字&#xff0c;而不是Bean对象&#xff0c;因为我们可以根据BeanDefinition就能判断和当前type是不是匹配&#xff0c;不用生成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 自身原理之高可用

说到高可用&#xff0c;咱们在使用主机环境的时候&#xff08;非 k8s&#xff09;&#xff0c;咱做高可用有使用过这样的方式&#xff1a; 服务器做主备部署&#xff0c;当主节点和备节点同时存活的时候&#xff0c;只有主节点对外提供服务&#xff0c;备节点就等着主节点挂了…...

游乐场vr设备虚拟游乐园vr项目沉浸体验馆

在景区建设一个VR游乐场项目可以为游客提供一种新颖、刺激和沉浸式的游乐体验。提高游客的体验类型&#xff0c;以及景区的类目&#xff0c;从而可以吸引更多的人来体验。 1、市场调研&#xff1a;在决定建设VR游乐场项目之前&#xff0c;需要进行市场调研&#xff0c;了解当地…...

window10安装并使用oracle

1、现在oracle19c或者21c&#xff0c;下载链接如下 Database Software Downloads | Oracle 中国 2、安装好之后&#xff0c; 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

下载地址&#xff1a;前往黑果魏叔官网 AutoCAD是一款计算机辅助设计&#xff08;CAD&#xff09;软件&#xff0c;目前已经成为全球最受欢迎的CAD软件之一。它可以在二维和三维空间中创建精确的技术绘图&#xff0c;并且可以应用于各种行业&#xff0c;如建筑、土木工程、机械…...

Oracle 主从库目录不一致(异路径)的n种处理方案及效果

最近遇到了复制数据&#xff08;DUPLICATE TARGET DATABASE TO xxx&#xff09;的时候 Oracle 源和目标库目录不一致的问题&#xff0c;比较初级但也踩到一些坑&#xff0c;整理记录一下。主从库搭建的时候注意事项其实也类似&#xff0c;而且更通用&#xff0c;所以标题写的是…...

创建型(一) - 简单工厂模式、工厂方法模式和抽象工厂模式

本文使用了王争老师设计模式课程中的例子&#xff0c;写的很清晰&#xff0c;而且中间穿插了代码优化。 由于设计模式就是解决问题的一种思路&#xff0c;所以每个设计模式会从问题出发&#xff0c;这样比较好理解设计模式出现的意义。 一、简单工厂模式 解决问题&#xff1a…...

LeetCode3.无重复字符的最长子串

虽然是一道中等题&#xff0c;但我5分钟就写完了&#xff0c;而且是看完题就知道怎么写&#xff0c;这一看就知道双指针&#xff0c;一个左一个右&#xff0c;右指针往后移如果没有重复的长度1&#xff1b;如果有重复的&#xff0c;左指针往右移&#xff0c;那如何判断重复呢&a…...

鲁图中大许少辉博士八一新书《乡村振兴战略下传统村落文化旅游设计》山东省图书馆典藏

鲁图中大许少辉博士八一新书《乡村振兴战略下传统村落文化旅游设计》山东省图书馆典藏...

如何发布自己的小程序

小程序的基础内容组件 text&#xff1a; 文本支持长按选中的效果 <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…...

客户案例:高性能、大规模、高可靠的AIGC承载网络

客户是一家AIGC领域的公司&#xff0c;他们通过构建一套完整的内容生产系统&#xff0c;革新内容创作过程&#xff0c;让用户以更低成本完成内容创作。 客户网络需求汇总 RoCE的计算网络RoCE存储网络1.不少于600端口200G以太网接入端口&#xff0c;未来可扩容至至少1280端口1.…...

Flutter性能揭秘之RepaintBoundary

作者&#xff1a;xuyisheng Flutter会在屏幕上绘制Widget。如果一个Widget的内容需要更新&#xff0c;那就只能重绘了。尽管如此&#xff0c;Flutter同样会重新绘制一些Widget&#xff0c;而这些Widget的内容仍有部分未被改变。这可能会影响应用程序的执行性能&#xff0c;有时…...

29.Netty源码之服务端启动:创建EventLoopSelector流程

highlight: arduino-light 源码篇&#xff1a;从 Linux 出发深入剖析服务端启动流程 通过前几章课程的学习&#xff0c;我们已经对 Netty 的技术思想和基本原理有了初步的认识&#xff0c;从今天这节课开始我们将正式进入 Netty 核心源码学习的课程。希望能够通过源码解析的方式…...

Kotllin实现ArrayList的基本功能

前言 上次面试时&#xff0c;手写ArrayList竟然翻车&#xff0c;忘了里面的扩容与缩容的条件&#xff0c;再次实现一次&#xff0c;加深印象 源码讲了什么 实现了List列表和RandomAccess随机访问接口List具有增删改查功能&#xff0c;RandomAccess支持下标访问内部是一个扩容…...

C++的初步介绍,以及C++与C的区别

C和C的区别 C又称C plus plus&#xff0c;且C语言是对C语言的扩充&#xff0c;几乎支持所有的C语言语法&#xff1b;C语言&#xff1a;面向过程的语言&#xff08;注重问题的解决方法和算法&#xff09;C&#xff1a;面向对象的语言 &#xff08;求解的方法&#xff09;面向对…...

JDK 核心jar之 rt.jar

一、JDK目录展示 二、rt.jar 简介 2.1.JAR释义 在软件领域&#xff0c;JAR文件&#xff08;Java归档&#xff0c;英语&#xff1a;Java Archive&#xff09;是一种软件包文件格式&#xff0c;通常用于聚合大量的Java类文件、相关的元数据和资源&#xff08;文本、图片等&…...

el-form表单验证:只在点击保存时校验(包含select、checkbox、radio)

1、input类型 input类型 在el-input里加入:validate-event"false" <el-form-item label"活动名称" prop"name"><el-input v-model"ruleForm.name" :validate-event"false"></el-input> </el-form-i…...

Golang基本语法(上)

1. 变量与常量 Golang 中的标识符与关键字 标识符 Go语言中标识符由字母数字和_(下划线&#xff09;组成&#xff0c;并且只能以字母和_开头。 举几个例子&#xff1a;abc, _, _123, a123。 关键字 关键字和保留字都不建议用作变量名&#xff1a; Go语言中有25个关键字。 此…...

jenkins使用

安装插件 maven publish over ssh publish over ssh 会将打包后的jar包&#xff0c;通过ssh推送到指定的服务器上&#xff0c;&#xff0c;在jenkins中设置&#xff0c;推送后脚本&#xff0c;实现自动部署jar包&#xff0c;&#xff0c; 装了这个插件之后&#xff0c;可以在项…...

多线程基础篇(包教包会)

文章目录 一、第一个多线程程序1.Jconsole观察线程2.线程休眠-sleep 二、创建线程三、Thread类及常见方法1. Thread 的常见构造方法2. Thread 的几个常见属性3. 启动线程 - start4. 中断线程5. 等待一个线程 四、线程状态五、线程安全问题(synchronized)&#xff08;重点&#…...

网站开发外贸/怎么做优化关键词

2019独角兽企业重金招聘Python工程师标准>>> Laravel使用PHP的一个扩展API–Carbon来处理时间。它提供了很多日期操作方法&#xff0c;其中 diffForHumans() 可以把日期转换成 “1 hours age”、“4 years age” 这样的格式&#xff0c;同时&#xff0c;它还支持本地…...

做一款小说网站/谷歌搜索指数查询

正在做一个消费管理系统&#xff08;就是自己想功能&#xff0c;自己不停的写东西&#xff09;。接下来写的都是在做的时候遇到的一些问题&#xff0c;有的很快解决了&#xff0c;有的花了点时间。 &#xff08;1&#xff09;、如何在JFrame中里面插入一张背景图片呢&#xff…...

浙江省建设局网站/seopc流量排行榜企业

class Test{ /// <summary>/// 抽象工厂模式将具体产品的创建延迟到具体工厂的子类中&#xff0c;这样将对象的创建封装起来&#xff0c;/// 可以减少客户端与具体产品类之间的依赖&#xff0c;从而使系统耦合度低&#xff0c;这样更有利于后期的维护和扩展&#xff…...

wordpress文档/百度如何免费打广告

updateAllColumnById mybatisplus中的updateById和updateAllColumnById—仅做记录 updateAllColumnById方法可以更新带有null的列&#xff0c;与selectOne 相比较使用 而updateById更新时如果带有null&#xff0c;则只更新带有参数值的entity&#xff0c;null的不更新&#…...

物联网技术是学什么的/seo薪资水平

FlatBuffers是一个高性能、跨平台的序列化库&#xff0c;支持C、C#、C、Go、Java、JavaScript、TypeScript、PHP和Python。由google开发&#xff0c;并用于游戏及其他对性能要求高的应用。 1、不用解析/解包&#xff0c;就可以直接访问序列化的数据 1&#xff09;写schema文件。…...

北京网站优化托管/引流推广网站

配置kotlin的环境变量&#xff0c;添加到path 下载kotlin的编译器工具 下载后解压放到固定目录下&#xff0c;找到bin文件夹添加到path&#xff0c;配置完成后使用 路径如&#xff1a;D:\kotlinc\bin 命令&#xff1a; kotlinc -version 查看是否安装成功 安装插件 安装Kot…...