IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Git问题总结 -> 正文阅读

[开发工具]Git问题总结

Git问题总结

分支分叉问题

执行 git status 或者 git push 时出现了以下错误:

On branch master
Your branch and 'origin/master' have diverged,
and have 1 and 2 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)

nothing to commit, working tree clean

问题原因

我在两台电脑上工作,电脑 A 和 B 初始都是 up-to-date,之后我先在 Acommitpush 了几次,然后我现在在电脑 B 中从初始状态编写,然后试图在 commit 之后 push,出现了上述问题(使用同一个本地和云分支)。

问题分析

假设,远程上的 commitA -> B,你在 A 电脑上 commitpush 之后,远程变成了 A -> B -> C -> D。现在,B 电脑上还是 A -> B。然后你 commit 了,那么 B 电脑上就是 A -> B -> E

因为 A -> B -> C -> DA -> B -> E 有一个共同的祖先 B,你在本地多了一个 commit E,远程多了两个 commits CD。这个时候如果你要在 A -> B -> Ebranchpushgit 猜不出到底想保留 CD,还是只要 E,还是都要,就会出现上面的提示。

所以,你需要的是把 B 电脑上的历史线变成 A -> B -> C -> D -> E

问题解决

执行命令

git pull --rebase origin master

# 这里也可以使用merge,但推荐使用rebase

这个命令等同于:

git fetch origin
git rebase origin/master

执行之后,B 电脑上的历史线就会变成 A -> B -> C -> D -> E,然后你就可以 push

git push origin master

致命:拒绝合并不相关的历史记录

今天拉取代码后,准备合并代码,现了下面的这个错误

$ git merge origin master
fatal: refusing to merge unrelated histories

这里的问题,你可能会在 git pull 或者 git push 中都有可能会遇到。

问题原因

因为两个库没有历史联系, git 默认拒绝合并无关的历史,所以出现这个问题

这是因为两个分支是两个不同的版本,具有不同的提交历史。

问题解决

在你操作命令后面加 --allow-unrelated-histories,允许不相关历史提交,强制合并

git merge master --allow-unrelated-histories

如果你是 git pull 或者 git pushfatal: refusing to merge unrelated histories,同理

git pull origin master --allow-unrelated-histories

这里推荐使用 git rebase origin/master 来解决这个问题

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 22:48:06  更:2022-03-10 22:50:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:21:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码