单用IDEA无法做到,必须配合使用Git命令行才能做到,而且是先从原作者项目更新本地库,再从本地库push到自己远程fork项目,非常坑逼。

1.到项目clone的根目录右键Git Bash,先查看远程源,一般只有你自己fork项目的源,没有原作者的,需要添加远程源:

Administrator@admin-PC MINGW64 /e/git_projects/sunfield-microframe-service (master)
$ git remote -v
origin http://172.16.175.36:180/baigang/sunfield-microframe-service.git (fetch)
origin http://172.16.175.36:180/baigang/sunfield-microframe-service.git (push)

Administrator@admin-PC MINGW64 /e/git_projects/sunfield-microframe-service (master)
$ git remote add upstream ssh://git@172.16.175.36:4422/jiaoma/sunfield-microframe-service.git

Administrator@admin-PC MINGW64 /e/git_projects/sunfield-microframe-service (master)
$ git remote -v
origin http://172.16.175.36:180/baigang/sunfield-microframe-service.git (fetch)
origin http://172.16.175.36:180/baigang/sunfield-microframe-service.git (push)
upstream ssh://git@172.16.175.36:4422/jiaoma/sunfield-microframe-service.git (fetch)
upstream ssh://git@172.16.175.36:4422/jiaoma/sunfield-microframe-service.git (push)

Administrator@admin-PC MINGW64 /e/git_projects/sunfield-microframe-service (master)
$ git fetch upstream
The authenticity of host '[172.16.175.36]:4422 ([172.16.175.36]:4422)' can't beestablished.
ECDSA key fingerprint is SHA256:hFUMVxu5yYzhamirMDGSsvo3KbgbsVBQ3ZPTOBUIdqs.
Are you sure you want to continue connecting (yes/no)?
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

2.这里添加了原作者ssh协议的源,因为没有本机证书,无法连接成功,所以需要改为添加http协议源,这里本公司GitLab服务器需要带上180端口

Administrator@admin-PC MINGW64 /e/git_projects/sunfield-microframe-service (master)
$ git remote add upstream http://172.16.175.36:180/jiaoma/sunfield-microframe-service.git
fatal: remote upstream already exists.

Administrator@admin-PC MINGW64 /e/git_projects/sunfield-microframe-service (master)
$ git remote remove upstream

Administrator@admin-PC MINGW64 /e/git_projects/sunfield-microframe-service (master)
$ git remote add upstream http://172.16.175.36:180/jiaoma/sunfield-microframe-service.git

Administrator@admin-PC MINGW64 /e/git_projects/sunfield-microframe-service (master)
$ git remote -v
origin http://172.16.175.36:180/baigang/sunfield-microframe-service.git (fetch)
origin http://172.16.175.36:180/baigang/sunfield-microframe-service.git (push)
upstream http://172.16.175.36:180/jiaoma/sunfield-microframe-service.git(fetch)
upstream http://172.16.175.36:180/jiaoma/sunfield-microframe-service.git(push)

这里需要先使用git remote remove命令移除此前错误添加的同名源(其实起别的名也可以,fetch时从正确名字的源获取即可)

3.从添加的原作者源fetch到本地仓库,合并到本地仓库:

Administrator@admin-PC MINGW64 /e/git_projects/sunfield-microframe-service (master)
$ git fetch upstream
remote: Counting objects: 103, done.
remote: Compressing objects: 100% (65/65), done.
remote: Total 103 (delta 24), reused 30 (delta 4)
Receiving objects: 100% (103/103), 12.50 KiB | 914.00 KiB/s, done.
Resolving deltas: 100% (24/24), completed with 6 local objects.
From http://172.16.175.36:180/jiaoma/sunfield-microframe-service
* [new branch] master -> upstream/master

Administrator@admin-PC MINGW64 /e/git_projects/sunfield-microframe-service (master)
$ git merge upstream/master
Updating 2970d82..27ca203
Fast-forward
pom.xml | 58 ++------
.../microframe/common/config/RedisConfig.java | 52 +++++++
.../microframe/common/redis/RedisBaseTemplate.java | 139 ++++++++++++++++++
.../microframe/common/redis/RedisHashTemplate.java | 157 +++++++++++++++++++++
.../microframe/common/redis/RedisListTemplate.java | 130 +++++++++++++++++
.../microframe/common/redis/RedisSetTemplate.java | 110 +++++++++++++++
.../microframe/provider/MUsersSqlProvider.java | 29 ++--
.../com/sunfield/microframe/rest/MUsersRest.java | 82 ++++++++++-
.../sunfield/microframe/service/MUsersService.java | 73 ++++++++++
src/main/resources/application.properties | 52 ++++---
10 files changed, 804 insertions(+), 78 deletions(-)
create mode 100644 src/main/java/com/sunfield/microframe/common/config/RedisConfig.java
create mode 100644 src/main/java/com/sunfield/microframe/common/redis/RedisBaseTemplate.java
create mode 100644 src/main/java/com/sunfield/microframe/common/redis/RedisHashTemplate.java
create mode 100644 src/main/java/com/sunfield/microframe/common/redis/RedisListTemplate.java
create mode 100644 src/main/java/com/sunfield/microframe/common/redis/RedisSetTemplate.java
create mode 100644 src/main/java/com/sunfield/microframe/service/MUsersService.java

4.把更新push到自己远程fork库:

Administrator@admin-PC MINGW64 /e/git_projects/sunfield-microframe-service (master)
$ git push
Enumerating objects: 119, done.
Counting objects: 100% (119/119), done.
Delta compression using up to 8 threads
Compressing objects: 100% (45/45), done.
Writing objects: 100% (103/103), 12.50 KiB | 2.50 MiB/s, done.
Total 103 (delta 24), reused 103 (delta 24)
remote: Resolving deltas: 100% (24/24), completed with 6 local objects.
To http://172.16.175.36:180/baigang/sunfield-microframe-service.git
2970d82..27ca203 master -> master

注意这里应push到自己的远程库,而不是原作者的!

也可使用命令:

git push origin master

这样成功更新了自己本地库、远程fork库,完全不需要IDEA操作了。

参考博客:

https://blog.csdn.net/define_LIN/article/details/81044421

https://www.jianshu.com/p/83be892368d8

https://blog.csdn.net/qq_38835878/article/details/81195400

https://www.zhihu.com/question/20393785/answer/30725725

https://www.cnblogs.com/dinphy/p/6409132.html

切换分支和push到fork库:

https://www.jianshu.com/p/29775d91f536

删除远程源:

https://www.cnblogs.com/BHfeimao/p/6496877.html

GitLab本地、远程更新已经fork的项目的更多相关文章

  1. GitHub更新自己Fork的项目

    转自:http://www.tuicool.com/articles/MzMJre github上有个功能叫fork,可以将别人的工程复制到自己账号下.这个功能很方便,但其有一个缺点是:当源项目更新后 ...

  2. GitHub更新已经fork的项目

    clone 自己的 fork 分支到本地 可以直接使用 GitHub 客户端,clone 到本地,如果使用命令行,命令为: $ git clone git@github.com:morethink/g ...

  3. github上fork原项目,如何将本地仓库代码更新到最新版本?

    场景: 在github上fork原项目,项目组成员发起pull request提交了代码,这时自己在本地仓库该如何更新到最新代码? 操作方法如下: 方法一.从github上进行操作然后更新 登录自己的 ...

  4. 本地Git连接GitLab(服务器)远程仓库

    1.简介 远程仓库是指托管在网络上的项目仓库,现在互联网上有很多项目托管平台,比如github.gitlab等.为了不公开自己项目代码,可以在自己的服务器上搭建自己的项目仓库,最常见的是搭建GitLa ...

  5. github上fork的项目,如何同步原作者更新的内容?

    一.引言   我在github上fork了一个项目,之后原作者又更新了内容,我想把原作者更新的内容同步到我fork的项目仓库中.在此记录一下同步步骤. 二.同步步骤 打开fork的项目的主页,点击Ne ...

  6. 【转】github更新自己Fork的代码

    github更新自己Fork的代码 时间 2014-03-02 23:25:55  micmiu - 软件开发 原文  http://www.micmiu.com/software/build/git ...

  7. 在github fork的项目中推送与抓取

    github -- fork提交项目:自己的仓库和原仓库进行Git同步的操作. 1. 获取你fork的原仓库的更新过的最新代码:如果没有远程原始分支则需要增加. git remote add upst ...

  8. Github fork其他项目的分支与主干保持同步

    Fork一个Repo Fork是一个复制的操作,当你Fork一个项目之后,你就有了在原项目的基础之上进行修改和扩展的权限. 通常情况下,Fork操作用于参与别人的项目(成为项目中的一员),或者以别人的 ...

  9. github如何实现fork的项目与原项目同步

    refer to https://www.jianshu.com/p/fede3333205f 作者:hitchc 链接:https://www.jianshu.com/p/fede3333205f ...

随机推荐

  1. 刀客139qq算命

    https://www.zhouyi.cc/bazi/sm/BaZi.php 好的算命网站 根据辛亥时看出来的午亥暗合没那么简单他不克你她太弱了婚姻不顺,是因为夫妻宫是财坏印是要比劫克财克财很重要 出 ...

  2. 洛谷P4778 Counting swaps 数论

    正解:数论 解题报告: 传送门! 首先考虑最终的状态是固定的,所以可以知道初始状态的每个数要去哪个地方,就可以考虑给每个数$a$连一条边,指向一个数$b$,表示$a$最后要移至$b$所在的位置 显然每 ...

  3. CF1093F Vasya and Array

    题目链接:洛谷 以后还是要多打CF,不然就会错过这些很好的思维题了.我dp学得还是太烂,要多总结. 首先$len=1$就直接输出0. 我们考虑$dp[i][j]$表示前$i$个数的答案,而且第$i$个 ...

  4. VisualStudioCode创建的asp.net core项目部署到IIS,以及遇到的问题

    一.发布项目 在visual studio code中通过命令“dotnet publish”,如下图: 这里我把发布位置设置到了D:\WebSite\netcoredemo下. 二.设置IIS 0. ...

  5. 使用java操作elasticsearch(1)

    1.安装elasticsearch 这儿用的是5.6.9的版本,下载安装过程较为简单,在官网上下载好后解压到文件夹.需要注意的是在elasticsearch-5.6.9\config下的elastic ...

  6. webpack4.27.1中遇到的错误

    1:ERROR in Entry module not found: Error: Can't resolve './src' 我在使用webpack命令时报错,这时因为我的配置文件有问题webpac ...

  7. 下载安装Git

    1.下载地址:https://git-scm.com/download/win  这里是下载64位的 2.安装步骤 (1)下载完成得到一个exe文件,双击傻瓜式安装 (2)开始安装 (3)选择安装的工 ...

  8. DHCP服务器 出现的故障

    系统版本:Windows Server 2008 R2 Standard 故障现象:近段时间,我们核心网络DHCP服务器,总是发现有掉线重起现象,大约每10分钟至30分钟不定时会重起. 故障代码:关键 ...

  9. 【心得】-NO.114.面试.1 -【To HR And Interviewer】

    Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...

  10. CentOS7安装vsftpd3.0.2、以及虚拟用户配置

    vsftpd(very secure ftp daemon)是一款运行在Linux操作系统上的FTP服务程序,不仅完全开源而且免费,还具有很高的安全性.传输速度,以及支持虚拟用户验证. vsftpd ...