当前位置:   article > 正文

git Fork或者git clone克隆别人的项目到自己的仓库如何保持原仓库同步_git fork的仓库如何同步主仓库

git fork的仓库如何同步主仓库

一、问题描述

有时候我们会clone别人的项目到自己的仓库来进行二次开发,开发好之后提交到自己的仓库,如有原仓库有更新了,可以选择性的进行同步

二、解决方法

这里以ruoyi-vue-pro得前端项目来进行演示,创建一个目录,在目录下随便创建一个文件

然后在gitee上创建自己的仓库,然后在该目录下依次执行如下命令:

  1. git init
  2. git add .
  3. git commit -m "first commit"
  4. git remote add origin https://gitee.com/xxxx/xxxx
  5. git push -u origin "master"

此时执行完成,就会将项目提交到自己的仓库中去了,然后可以执行命令查看远程仓库地址:

git remote -v

此时就一个仓库

添加别人的代码仓库为你的远程仓库

git remote add upstream https://gitee.com/yudaocode/yudao-ui-admin-vue3.git

再次查看

git remote -v

就会多出一个仓库地址

从远程仓库获取最新的更新

git fetch upstream

切换到自己的分支

git checkout master

将别人的更新合并到你的当前分支

git merge upstream/master

此时有可能会报错:

fatal: refusing to merge unrelated histories

造成 fatal: refusing to merge unrelated histories错误的原因有以下几点:


1.有一个包含一些提交的新 Git 存储库,然后,您尝试从现有的远程仓库中提取,合并变得不兼容,因为分支和远程拉取的历史不同,当你试图合并两个完全不相关的分支时,Git 看到了这种情况,它不知道该怎么做。
2.目录有问题.git,它可能在某些时候被意外删除或损坏,如果您克隆或清理了项目,则可能会发生这种情况,此处发生错误是因为 Git 没有有关本地项目历史的必要信息。
3.当您尝试从远程仓库推送或拉取数据时,分支位于不同的HEAD位置,并且由于缺乏共性而无法匹配。

使用--allow-unrelated-histories标志允许合并不相关的历史,这是一种解决问题的快速方法,但请谨慎使用,因为它将两个不同的历史合并到一个新的共同历史中,由于我们是首次,所以无所谓

git merge upstream/master --allow-unrelated-histories

请注意,这可能会导致冲突,我们需要解决这些冲突后再次提交。



提交

git push origin master

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/846111
推荐阅读
相关标签
  

闽ICP备14008679号