git-常见问题解决方法(全)

2023-11-11

git使用过程中遇到的问题解决方法记录

问题

(1) 更新代码后显示: unable to unlink old ‘xxx/xxx/xx’ : invalid argument
  • 问题原因:
    要提交或更新的文件被系统线程占用
  • 解决方法:
    把相关服务暂停,重新pull代码
(2) 更新代码后显示: the following untracked working tree files would be overwritten by checkout
  • 问题原因:
    本地代码仓库目录下有untracked文件
  • 解决方法:
    如果没有需要上库的代码,直接执行 git clean -d -fx删除untracked文件
(3) 更新代码后显示:

your local changes to the following files would be overwritten by merge…
please move or remove them before you merge

  • 问题原因:
    新修改的代码之前未提交,可能被服务器上的代码覆盖
  • 解决方法1:
    保留本地修改,然后add/commit/push到远程仓库
git stash					// 暂存本地修改
git pull origin master		// 拉取服务器最新代码
git stash pop				// 暂存代码恢复
  • 解决方法2:
    放弃本地修改 - 直接回退到上一版本,再拉取服务器最新代码
git reset --hard			// 可加上 commit id
git pull origin master
(4) git pull的时候认证失败:

remote: invalid Login or password
fatal: Authentication failed for ‘https://…’

  • 问题原因:
    账号密码失效或者是未登录
  • 解决方法:
    windows账户下,控制面板->用户帐户->windows凭据->修改git密码
(5) 版本回退git reset --hard {hash}后提示:

fatal: could not parse object “hash id”

  • 问题原因:
    切换到master分支后没有更新最新代码,git log不包含要reset的节点
  • 解决方法:
    更新代码后git log找到对应节点hash id再reset
(6) 切分支后提示文件有修改,撤销文件修改报错/对这个文件任何修改都报错

unlink of file ‘modifyFile.c’ failed. should I try again?(y/n)

  • 问题原因:
    与问题(1)一样,有线程占用要修改的文件,比如代码查看器等
  • 解决方法:
    把相关服务停了,重新处理
(7) git push后提示:

to https://.git
![rejected] localRepo->remoteRepo(fetch first)
error: failed to push some refs to ‘https://.git’
Updates were rejected because the remote contain work that you do not have locally.

  • 问题原因:
    本地仓库不包含远程仓库修改
  • 解决方法:
    更新远程分支并重新add/commit/push
(8) git push后提示:

to https://.git
![rejected] localRepo->remoteRepo(fetch first)
error: failed to push some refs to ‘https://.git’
Updates were rejected because the tip of your current branch is behind its remote couterpart. Integrate the remote changes bufore pushing again.

  • 问题原因:
    本地仓库节点落后于远程仓库节点,当然这可能是自己主动回退的
  • 解决方法:

方案1:强推。覆盖远程分支,这样会使远程修改丢失,多人同一分支写作的时候不可取

git push -u origin YOUR_BRANCH -f

方案2:重新拉取远程仓库merge再push。结合具体代码修改情况做处理

git pull origin YOUR_BRANCH
修改~
git push -u origin YOUR_BRANCH

方案3:直接推到新分支,原分支作废

git push origin YOUR_BRANCH_NEW

或者

git branch YOUR_BRANCH_NEW
git push -u origin YOUR_BRANCH_NEW
(9) git pull后提示

fatal: refuse to merge unrelated histories
在这里插入图片描述

  • 问题原因:
    出现这个问题的最主要原因还是在于本地仓库和远程仓库实际上是独立的两个仓库,如果一开始用git clone拷贝到本地就不存在这个问题。本地git init后尝试与远程分支关联
  • 解决方法:
    pull命令后加 --allow-unrelated-histories 来解决,合并两个独立启动仓库的历史
git pull origin master --allow-unrelated-histories
(10) git checkout后提示:

error: cannot stat ‘file…’: Filename too long

  • 问题原因:
    如提示,文件名过长无法checkout。git 可以创建4096长度的文件名,然而在windows最多是260,因为git用了旧版本的windows api,导致出现这种情况。
  • 解决方法:
git config --global core.longpaths true 	// 去除文件名长度限制
(11) git pull后撤销:
  • 问题原因:
    主干分支当前跑不过等原因
  • 解决方法:
git reflog YOUR_BRANCH					// 查看当前分支操作记录
git reset --hard YOUR_BRANCH@{1}		// 回退到上一节点,拉取master之前
(12) git checkout filename后报错:

error: pathspec did not match any files known to git

  • 问题原因:
    git checkout filename回退未添加到缓存区的文件,但是对未track的文件不生效。git checkout未track文件git以为是切分支
  • 解决方法:
    更新如果不需要该文件,直接删除
rm filename

2020.06.11

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

git-常见问题解决方法(全) 的相关文章

随机推荐

  • 数学库(math)

    数学库由一组标准的数学函数构成 包括三角函数 sin cos tan atan等 指数和对数函数 exp log log10 取整函数 floor ceil max和min 生成伪随机数的函数 random randomseed 以及变量p
  • STM32串口配置实验

    STM32 串口简介 串口作为 MCU 的重要外部接口 同时也是软件开发重要的调试手段 其重要性不言而喻 现在基本上所有的 MCU 都会带有串口 STM32 自然也不例外 STM32 的串口资源相当丰富的 功能也相当强劲 ALIENTEK
  • Springboot整合poi +vue实现导出导入Excle表格数据展示图形

    工具 idea 数据库 mysql 框架 Springboot 准备工作 1 导入主要依赖 poi
  • SpringBoot项目基础架构

    以下是一个简单的示例 展示了如何使用Spring Boot实现前后端分离项目 包含代码讲解和详细注释 创建项目 创建一个空的Spring Boot项目 设置依赖 使用你喜欢的构建工具 例如Maven 将以下依赖添加到项目的pom xml文件
  • 蓝桥杯-纸张尺寸

    问题描述 在 ISO 国际标准中定义了 A0 纸张的大小为 1189mm times 841mm 将 A0 纸 沿长边对折后为 A1 纸 大小为 841mm times 594mm 在对折的过程中长度直接取 下整 实际裁剪时可能有损耗 将
  • 避坑必看:很详尽的MyBatis返回自增主键实验(包括插入或更新SQL语句insert on duplicate key update的自增主键返回情况)

    目录 1 实验对比维度 1 单纯的insert和insert on duplicate key update 2 selectKey和useGeneratedKeys 3 Param和parameterType 4 单个和批量 5 keyP
  • linux密码永不过期命令,linux密码永不过期 linux修改用户密码永不过期

    linux下怎样设置某个用户的密码永不过期 Windows的空密码处理非常特殊 密码为空的用户禁止远程登录 Linux的空密码无法防止远程登录带来的安全风险 而且 即使禁止使用空密码的用户远程登录 如果Linux下的某个用户或服务被破坏 也
  • srand(time(NULL))是什么意思?

    第一 srand time NULL 是以当前时间为种子 产生随意数 其中 time NULL 用来获取当前时间 本质上得到的是一个大整数 然后用这个数来随机数 第二 这个错误应该是代码中写楼了什么东西造成的 最大的可能应该是大括号少了一半
  • 解决:TypeError: '(slice(None, None, None), 1)' is an invalid key

    问题背景 使用matplotlib将DBSCAN分类结果散点图可视化时提示此TypeError 源代码 from sklearn cluster import DBSCAN import pandas as pd import matplo
  • Logstash 入门:介绍 Java 的 Output Plugin

    Logstash 入门 介绍 Java 的 Output Plugin Logstash 是一个开源的数据收集和处理引擎 它可以从各种来源采集数据 并将其转换为可用于存储 分析和可视化的格式 Logstash 通过插件系统提供了灵活的扩展性
  • AD软件解决 Unknown Pin 和Failed to add class member 问题

    出现这个提示是因为现在的PCB里已经含有net的 只需要先删除所有现在板子上的net 然后再导入就不会出现这个提示 现在暂时不用管 点继续 同上继续 如何解决Unknown Pin问题 只需要删除现在PCB板子上所有的net就行了 具体如下
  • android 自定义空白,小米手机自定义空白卡模拟加密卡门禁卡教程

    小米手机自定义空白卡模拟加密卡门禁卡教程 使用MIUI自带门卡模拟功能 并尝试烧录完整数据 不依赖任何第三方软件 不会对系统做什么恶 意 修 改 也不会对其他依赖NFC的服务 小米公交 Mi Pay银行卡等 造成影响 1 准备工作 两台全功
  • POSTGRESQL 判断字段为空的方法

    1 IS NULL 和 IS NOT NULL 操作符 2 运用COALESCE函数进行字段的非空判断 并在第二个参数指定默认值
  • 利用稳压模块设计电源电路(洞洞板手工做板)

    前言 一块12伏的电池 要进行分压以适应多路的供电要求 因此做电源电路很有必要 本文采用洞洞板 稳压模块 手工焊接 1 实物 2 原理图 3 焊接 用焊锡连线 而不是用杜邦线跳线 焊锡线粗 可以保证大电流通过 而杜邦线太细了 容易烧毁 更甚
  • feign.FeignException$Unauthorized: status 401 reading UserOpenFeignService#findUser

    feign FeignException Unauthorized status 401 reading UserOpenFeignService findUser 如果是pig那边的问题 可以关了 文章针对的是单纯feign调用的问题 出
  • matlab自动深复制(deep copy)

    matlab 程序中 多次重复实验 而每次重复中会对数据 X 加一些随机噪声 此处希望每次重复时深复制一次 X 使得本次的噪声不会影响原数据 matlab 似乎能自动决定要不要复制一份 测试如下 Code matlab R2018a 原数据
  • 深入剖析智能仓储管理(WMS)应用价值与应用场景

    中国企业都在思考和部署如何实现一种高度自动化 高度信息化 高度网络化的生产模式 从而实现基于大数据的用户全息深层分析 本文目的在于交流如何建设适合自己企业的智能仓储 文 供应链指南针 孙亚博 2013年德国提出第四次工业革命 工业4 0的兴
  • linux开机自启动脚本以及update-rc.d命令解析

    linux有很多种自启动方式 这里只是简单记录下update rc d的自启动方式 update rc d的介绍 update rc d命令用于安装或移除System V风格的初始化脚本连接 脚本是存放在 etc init d 目录下的 我
  • HashSet详解

    概述 HashSet也是一个使用频率非常高的一个集合容器 最大的特点是存储的元素是没有重复的 而且是无序的 那么对于HashSet是如何判断原始是否重复 底层又是怎么实现的 你了解吗 HashSet介绍 HashSet 基于 HashMap
  • git-常见问题解决方法(全)

    git使用过程中遇到的问题解决方法记录 问题 1 更新代码后显示 unable to unlink old xxx xxx xx invalid argument 问题原因 要提交或更新的文件被系统线程占用 解决方法 把相关服务暂停 重新p