github上的版本和本地版本冲突的解决方法

简介: github上的版本和本地版本冲突的解决方法

问题

问题一 、 refusing to merge unrelated histories

在使用git的时候相当于没有更新 (没有pull)直接提交 到主分支(push master)报错, 然后在才又更新代码这时候会报错

git pull https://gitee.com/453972820/xxx.git
From https://gitee.com/453972820/xcxnm
 * branch            HEAD       -> FETCH_HEAD
fatal: refusing to merge unrelated histories  #意思 拒绝合并不相关的历史

这时候需要加上配置项,--allow-unrelated-histories   #允许合并历史

git pull https://gitee.com/453972820/xcxnm.git master --allow-unrelated-histories  

From https://gitee.com/453972820/xxx

* branch            master     -> FETCH_HEAD

Merge made by the 'recursive' strategy.  #通过“递归”策略进行合并

README.md | 9 +++++++++

1 file changed, 9 insertions(+)

create mode 100644 README.md

 

问题二、在github上创建项目,然后本地git init

然后没有git pull -f --all

然后git add .  | git commit -am "init"

导致github上的版本里有readme文件和本地版本冲突,下面给出冲突原因:

[master] git push -u origin master

[master]  git push -u origin master -f      #强制覆盖已有的分支(会覆盖服务器的代码,最好备份),在提交,ok


使用git进行pull操作中,你会发现会有这么一个错误,这个其实类似于svn中的冲突。那如果解决这个问题呢,如图所示。

先stash changes,隐藏本地的改变,执行完这步后,再进行pull,pull完了一定不要忘记unstash changes,恢复你刚隐藏的改变。

如果系统中有一些配置文件在服务器上做了配置修改,然后后续开发又新添加一些配置项的时候,

在发布这个配置文件的时候,会发生代码冲突:

error: Your local changes to the following files would be overwritten by merge:

       protected/config/main.php

Please, commit your changes or stash them before you can merge.

如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:

git stash

git pull

git stash pop

然后可以使用git diff -w +文件名 来确认代码自动合并的情况.

反过来,如果希望用代码库中的文件完全覆盖本地工作版本. 方法如下:

git reset --hard

git pull

其中git reset是针对版本,如果想针对文件回退本地修改,使用

[plain] view plain copy

git checkout HEAD file/to/restore

目录
相关文章
|
5月前
|
安全 网络安全 开发工具
百度搜索:蓝易云【git无法使用git协议clone github仓库问题解决方法】
通过尝试以上解决方法,你应该能够解决无法使用Git协议克隆GitHub仓库的问题。选择适合你网络环境和要求的方法,并根据需要进行相应的配置。
244 2
|
2月前
|
存储 API 网络架构
GitHub——通过接口获取仓库下的最新版本
GitHub——通过接口获取仓库下的最新版本
16 1
|
5月前
|
Windows
Windows【工具 01】视频下载工具BBDown.exe详细使用说明(https://github.com/nilaoda/BBDown)mp4格式无法识别问题处理(最新版本1.6.1网盘分享)
Windows【工具 01】视频下载工具BBDown.exe详细使用说明(https://github.com/nilaoda/BBDown)mp4格式无法识别问题处理(最新版本1.6.1网盘分享)
466 0
|
5月前
|
Java 程序员
推荐一个GitHub上牛b的Java学习项目!已整理成了文档版本
很多Java程序员一直希望找到一份完整的学习路径,但是市面上很多书都是专注某一个领域的,没有一份完整的大图,以至于很多程序员很迷茫,不知道自己到底应该从哪里开始学,或者不知道自己学习些什么。
|
编译器 开发工具 git
下载、安装代码版本管理软件Git并复制GitHub代码
本文介绍分布式开源版本控制系统Git的下载、安装,并基于Git实现克隆GitHub中项目代码的方法~
166 1
下载、安装代码版本管理软件Git并复制GitHub代码
|
开发工具 git
fatal: unable to access ‘https://github.com/.../.git‘: Could not resolve host: github.com解决方法【亲测有效】
1.问题原因 今天在使用Github的时候突然出现了这样的报错,云里雾里,看了网上的解决办法,说是代理服务器的问题,尝试了无数遍无果 然后Ping了一下github网站,发现Ping不通:
1522 0
推荐一个GitHub上牛b的Java学习项目!已整理成了文档版本
很多Java程序员一直希望找到一份完整的学习路径,但是市面上很多书都是专注某一个领域的,没有一份完整的大图,以至于很多程序员很迷茫,不知道自己到底应该从哪里开始学,或者不知道自己学习些什么。
推荐一个GitHub上牛b的Java学习项目!已整理成了文档版本
|
存储 缓存 前端开发
Android Github 上面优秀的两种阴影方案,完美兼容高低版本问题
Android Github 上面优秀的两种阴影方案,完美兼容高低版本问题
|
网络协议 安全 开发工具
Github无法访问的解决方法
GitHub 在中国大陆访问速度慢的问题原因有很多,但最直接和最主要的原因是 GitHub 的分发加速网络的域名遭到 DNS 污染。由于 GitHub 的加速分发 CDN 域名 assets-cdn.github.com 遭到 DNS 污染,导致无法连接使用GitHub 的加速分发服务器,才使得中国大陆访问速度很慢。
2107 0
Github无法访问的解决方法
|
设计模式 NoSQL Java
GitHub上标星65k+超火的《Java大厂面试》,分享整理的PDF版本
不论是校招还是社招都避免不了各种面试。笔试,如何去准备这些东西就显得格外重要。不论是笔试还是面试都是有章可循的,我这个有章可循‘说的意思只是说应对技术面试是可以提前准备。
130 0
下一篇
无影云桌面