前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >将本地项目推送到远程仓库

将本地项目推送到远程仓库

作者头像
十玖八柒
发布2022-08-01 09:26:00
6860
发布2022-08-01 09:26:00
举报
文章被收录于专栏:ahzoo.cn的博客分享

IDEA中推送

本地仓库与远程仓库一致

创建本地仓库

如果未设置此步的话,IDEA将会在顶部菜单显示VCS,而不会显示Git功能

依次打开:文件 | 设置 | 版本控制 | 目录映射;将当前项目路径映射为Git仓库

图片
图片

英文版对应地址:

图片
图片
图片
图片
提交本地项目

将本地项目提交到本地仓库(git add–>git commit);

图片
图片
关联远程仓库

点击Git–>管理远程

图片
图片

英文版对应:

图片
图片

添加远程仓库地址,亦可自定义别名

图片
图片
将远程仓库项目拉取到本地

Git–>拉取(pull)

图片
图片

选择要拉取的的分支,如果没有出现,按照提示,多刷新几次

图片
图片
将本地仓库项目推送到远程仓库

Git–>推送(push)

图片
图片

本地仓库与远程仓库不一致

如果本地仓库与远程仓库不一致,那么所有本地操作都是和之前一致的。唯一不同的就是最后拉取和推送的时候会因为本地仓库与远程仓库不一致造成各种报错。

以防万一,在进行操作前可以新建一个临时分支,给本地分支做个备份

首先是Git拉取失败,报错:

代码语言:javascript
复制
Git 拉取失败
From github.com:ooahz/XXXX

refusing to merge unrelated histories

原因自然是因为本地库与远程库不一致导致的。 解决方法: 点击:Git–>更新项目

图片
图片

选择合并当前分支

图片
图片

提示无法更新,根据提示选择上游分支,

图片
图片

同样选择分支后,选择合并

图片
图片

然后就可以看到远程仓库成功下载到本地,但是并没有和本地项目相互关联,所以我们需要对项目进行合并

图片
图片

点击远程仓库分支,然后选择一个能将远程分支合并到本地项目分支的任一选项(我这里选择的是合并并拉入)

图片
图片

出现仓库不一致提示,选择变基(Rebase)到远程 根据提示,解决所有冲突

图片
图片
图片
图片

然后推送即可

图片
图片
图片
图片

使用Git推送

本地仓库与远程仓库一致

创建本地仓库
代码语言:javascript
复制
$ git init
提交本地项目
代码语言:javascript
复制
$ git add .

$ git commit -m "commit"
关联本地项目
代码语言:javascript
复制
$ git remote add origin "远程仓库地址"
将远程项目拉取到本地
代码语言:javascript
复制
$ git pull origin master
将本地项目提交到远程仓库
代码语言:javascript
复制
$ git push origin master

本地仓库与远程仓库不一致

如果本地仓库与远程仓库不一致,那么所有本地操作都是和之前一致的。唯一不同的就是最后拉取和推送的时候会因为本地仓库与远程仓库不一致造成各种报错。解决方法自然是将本地库和远程库同步为一致即可。 图文说明:

图片
图片

以防万一,在进行操作前可以新建一个临时分支,给本地分支做个备份

git pull报错:

代码语言:javascript
复制
fatal: refusing to merge unrelated histories

git push报错:

代码语言:javascript
复制
![rejected]
master -> master (non-fast -forward)
error: failed to push some refs to g1 thub. com: ooahz/webspider.git
图片
图片

或者:

代码语言:javascript
复制
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
图片
图片

这里有三个解决方案:

方法一

和上面的的IDEA的解决方法一样,使用rebae。

代码语言:javascript
复制
$ git pull --rebase origin master

将远程仓库更新合并到(pull=fetch+merge)本地库中,rebase表示本地库的上一次commit移接到pull后的本地库中

图片说明:

图片
图片

使用该命令后,如有冲突,会提示合并冲突,手动合并冲突后即可正常进行后续的push操作。 合并冲突后输入命令,检查是否完成:

代码语言:javascript
复制
git rebase --continue
图片
图片

然后正常提交

方法二
代码语言:javascript
复制
$ git pull origin master --allow-unrelated-histories

allow-unrelated-histories表示允许不相关历史提交,强制合并

图片
图片

同样也是在合并过程中需要手动合并冲突 合并冲突后输入命令,检查是否完成:

代码语言:javascript
复制
git rebase --continue
方法三
代码语言:javascript
复制
$ git push --force origin master 

force表示强制提交

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • IDEA中推送
    • 本地仓库与远程仓库一致
      • 创建本地仓库
      • 提交本地项目
      • 关联远程仓库
      • 将远程仓库项目拉取到本地
      • 将本地仓库项目推送到远程仓库
    • 本地仓库与远程仓库不一致
    • 使用Git推送
      • 本地仓库与远程仓库一致
        • 创建本地仓库
        • 提交本地项目
        • 关联本地项目
        • 将远程项目拉取到本地
        • 将本地项目提交到远程仓库
      • 本地仓库与远程仓库不一致
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档