Git生产环境上管理fork项目更新

1.git remote -v 查看远程项目信息


     其中origin是主项目,也就是我们要提交的最终分支。而fork_origin是从主项目上fork创建的分支(可以理解为复制了一份,可以单独更新不影响主项目),一般公司会有要求不让员工从本地直接提交merge request给主项目的对应分支

     添加远程项目的命令为:

  • git remote add trunk http://xxx.git  #添加原项目repository,已经添加过则不需要执行

2.真实场景问题:主项目上已经更新了,但是fork项目是不会更新的


此时我们需要更新fork项目,步骤如下:

  • git fetch origin XXX #获取最新的origin对应的远程仓库上的XXX分支到本地(现在本地项目更新了)

  • git rebase origin/master #合并trunk/master分支到本地

(举例:如果你从 主项目上fork项目,然后你向fork项目提交了几个 commit,这个时候刚好有人把他开发的东西合并到 主项目master 了,这个时候 master 就比你fork的master分支的时候多了几个 commit,如果这个时候你 rebase master 的话,就会把你当前的几个 commit,放到那个人 commit 的后面。 如果不这么做的话,直接将fork中master和主项目master 合并,则gitlab/github冲突拒绝合并。)

  •  如果 git rebase遇到冲突,则使用git status查看是哪个文件冲突,然后执行以下两条命令
    •   git add <冲突文件>
    •   git rebase --continue

  • git push fork_origin branch(远程分支名)  -f  #现在本地项目已经从主项目上拉取了最新的代码,我们需要把fork 对应分支项目也更新。其中-f表示强制推送,不管是否有冲突,最后都push到远端分支(强烈建议只在fork分支上用,如果在主项目上用,可能会造成代码更新错误难以查出来)

注意:你不能直接从主项目更新到fork分支上
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值