使用gitee+idea
转载:https://blog.csdn.net/qq_15653601
idea将git本地仓库push到远程仓库
将本地仓库Push到远程仓库需要先创建远程仓库,我用在GitHub上已经建好的 hello-world 远程仓库来演示。然后使用Git Remote Add添加远程仓库,将本地仓库与远程仓库相互关联,操作如下:
2.进入如下界面,点击"+"号添加远程仓库,填写远程仓库URL,点击OK;
4.验证成功即关联了远程仓库,下面将本地仓库的提交Push到远程仓库。如下进行操作,打开Push Commit窗口。
如果远程仓库里已存在之前版本提交的文件而我们的本地仓库中却不存在,会出现如下问题:![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2afc179d53c57e384c8fdd50ae0dcfe6.png#pic_center)
因为我的远程仓库中已经存在一些提交记录了,而本地却是新建的仓库,也存在和远程提交记录没有关联的提交记录,所以出现了这种问题。
我们要先将远程的提交拉过来,Pull到本地仓库,与本地仓库合并,IDEA官方的文档是这样解释Pull changes的:
Pulling changes from a remote repository is a convenient shortcut for fetching and subsequently merging changes. When you pull, you not only download new data, but also integrate it into your local working copy of the project.
勾选远程仓库中的主分支master,Pull即变成了可用状态,点击进行Pull即可。不幸的是,这次还是出现了不能合并不相关的记录的问题:![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2599b55392d9f2915dcbda31291e3d4d.png#pic_center)
因为远程和本地的项目原本是两个不相同的项目,有不相关联的提交历史,解决办法是:
方法1:使用git命令的–allow-unrelated-histories选项。
git pull origin master --allow-unrelated-histories
方法2:在IDEA右下角选择远程主分支master->Rebase onto,将远程提交的内容和历史记录添加到本地提交的内容和历史记录的前面,如下图所示:
git rebase操作,将把远程仓库的提交历史置于本地仓库的提交历史之前,这样就保证了本地历史和远程历史的一致性。
当然咯,本地的项目和远程的项目之前没有任何的关联,现在要将两者合并在一起进行管理,这一般是不太可取的,我这里只是想举个例子。一般的还是创建一个新的远程仓库后再将其与本地仓库关联,或者从远程仓库直接clone出本地仓库,这样自然也是相互关联的。