![](https://file.jishuzhan.net/article/1787407359065198594/23b2195f057ba30bdfb046d55eb67ba1.webp)
目录
[报错:You may want to first integrate the remote changes (e.g., 'git pull ...') before pushing again.](#报错:You may want to first integrate the remote changes (e.g., 'git pull ...') before pushing again.)
[报错:fatal: refusing to merge unrelated histories](#报错:fatal: refusing to merge unrelated histories)
[报错:fatal: Exiting because of unfinished merge.](#报错:fatal: Exiting because of unfinished merge.)
一、准备
WebStorm
打开WebStorm,点击"更多符号"选择设置,在插件商店中搜索,并且安装插件Gitee(码云),安装完后点"Apply",再重新打开Version Control就有了。
![](https://file.jishuzhan.net/article/1787407359065198594/c581b6033b6f5a906d1c28b294ed9579.webp)
然后进入"version control",找到Gitee,登录到Gitee系统登录自己的gitee账号,如下图所示
![](https://file.jishuzhan.net/article/1787407359065198594/7211fdd17d20629fc7e3d072de18edf0.webp)
接下来在弹出的 Gitee 登录界面输入账号信息登录到系统,登录成功后,授权给 WebStorm 软件。
![](https://file.jishuzhan.net/article/1787407359065198594/a6ad2520ad9eb5540ffbd55fba3185d6.webp)
在设置中确定 Gitee账户信息,
![](https://file.jishuzhan.net/article/1787407359065198594/5f041e4fef4bcfb770169e38151ff17b.webp)
gitee
(1)需要创建一个仓库。(此处我创建的仓库名字是"oj-frontend")
创建仓库比较简单,下面两张图就是整个过程,这里不在赘述。
![](https://file.jishuzhan.net/article/1787407359065198594/58ee7e22a1983d7df4f5d4244f5beb94.webp)
![](https://file.jishuzhan.net/article/1787407359065198594/bdca7ce5421843c09ca1a377947873a2.webp)
二、上传代码到Gitee
(1)首先添加项目到本地仓库,这步操作对应"git add"命令,
![](https://file.jishuzhan.net/article/1787407359065198594/fa45baeed66a01a3b1a3be73c3215ba3.webp)
(2)提交项目目录,这步操作对应"git commit"命令,
![](https://file.jishuzhan.net/article/1787407359065198594/944dd273bd8526107b9fa75978485e2f.webp)
若是初次使用,则需要在WebStorm配置连接到的Gitee上的哪个仓库。
进入后,可以看到新增加的项目,这个时候还没有仓库URL,点击 Define remote,将创建的Gitee仓库所提供的 HTTPS地址复制粘贴到这里。
![](https://file.jishuzhan.net/article/1787407359065198594/ff08e67065ffc1ae53db93a84d4019de.webp)
打开webstrom左下角的"git",可以看到相应的信息,右边就是我们将要提交到仓库中的文件信息
![](https://file.jishuzhan.net/article/1787407359065198594/02570b090eec99a63990693642a2379d.webp)
(3)推送项目到Gitee,推送你的项目的更改到Gitee上的远程仓库"oj-frontend",
![](https://file.jishuzhan.net/article/1787407359065198594/f5be4fecf1de7ac12e66dd6a6b280969.webp)
![](https://file.jishuzhan.net/article/1787407359065198594/6e77f4a8e7139a672d774251d5eb6d58.webp)
(4)进入我们Gitee中的仓库,可以看到我们上传上去的项目代码,
![](https://file.jishuzhan.net/article/1787407359065198594/b72035e5b612a6b2356745eae665f2cf.webp)
三、过程中遇到的问题
报错:You may want to first integrate the remote changes (e.g., 'git pull ...') before pushing again.
![](https://file.jishuzhan.net/article/1787407359065198594/bfbbcf2324d68f23cf98eeafe2d6cb26.webp)
error: failed to push some refs to 'https://gitee.com/xxx/oj-frontend.git'
To https://gitee.com/xxx/oj-frontend.git
! refs/heads/master:refs/heads/master [rejected] (fetch first)
hint: Updates were rejected because the remote contains work that you do
Done
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
提示:更新被拒绝,因为远程包含您所做的工作
提示:不要在本地使用。这通常是由另一个存储库推送引起的
提示:对于相同的ref。您可能需要首先集成远程更改
提示:(例如,"git pull...")然后再次按下。
提示:有关详细信息,请参阅"git push --help"中的"关于快进的说明"
原因:这个错误是在尝试推送到 Git 存储库时发生的。错误消息表明,远程存储库包含你本地没有的提交,因此推送被拒绝了。
解决方法:解决这个问题的方法是:
-
运行
git pull
命令,将远程存储库中的更改拉取到本地。 -
处理任何冲突(如果有的话)。如果远程存储库和本地存储库之间存在冲突,Git 会提示你解决这些冲突。你需要解决这些冲突,然后继续推送。
-
一旦你将远程存储库中的更改拉取到本地并解决了可能存在的冲突,再次运行
git push
将你的更改推送到远程存储库。
![](https://file.jishuzhan.net/article/1787407359065198594/a71f63def47b03c3c99f3d60eaf84918.webp)
git pull oj-frontend master
报错:fatal: refusing to merge unrelated histories
场景:运行 上文提到的git pull
命令之后,
git pull oj-frontend master
之后报错,
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 1.07 KiB | 45.00 KiB/s, done.
From https://gitee.com/xxx/oj-frontend
* branch HEAD -> FETCH_HEAD
fatal: refusing to merge unrelated histories
原因:当你看到这个错误 fatal: refusing to merge unrelated histories
时,意味着你正在尝试将两个没有共同历史的分支进行合并。这通常发生在你的本地仓库和远程仓库最初是独立创建的,没有共享任何提交记录。
为了解决这个问题,你可以使用 --allow-unrelated-histories
选项来强制 git pull
或 git merge
命令合并两个没有关联历史的分支。这样做将合并两个分支的历史,可能需要手动解决合并冲突。
解决方法:
git pull oj-frontend master --allow-unrelated-histories
报错:fatal: Exiting because of unfinished merge.
场景:运行上文提到的命令,
git pull oj-frontend master --allow-unrelated-histories
之后报错,
![](https://file.jishuzhan.net/article/1787407359065198594/28e4e0a55b12263ca1152d1bc05a08a1.webp)
解决方法:为了解决这个问题,你需要先完成或取消当前的合并操作,然后再执行 git pull
命令。你可以按照以下步骤进行操作:
(1)首先,取消当前的合并操作。你可以使用以下命令:
git merge --abort
(2)确认取消合并后,你可以提交当前的更改或者将其暂存起来。你可以使用以下命令提交更改,
git commit -m "Your commit message"
或者,如果你想保留更改但暂时不想提交,你可以使用以下命令将更改暂存起来:
git stash
(3)当你确认当前没有未完成的合并或者未提交的更改后,再次执行 git pull
命令:
git pull origin master --allow-unrelated-histories
注意:命令里的orgin,在我本地指的是"oj-frontend"。
![](https://file.jishuzhan.net/article/1787407359065198594/a71f63def47b03c3c99f3d60eaf84918.webp)
执行结果如下:
![](https://file.jishuzhan.net/article/1787407359065198594/d82a01aefffeb820a7197069ab971422.webp)
OK,成功了。