300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Git上fork后的代码仓库如何与原仓库进行同步

Git上fork后的代码仓库如何与原仓库进行同步

时间:2023-07-03 09:49:58

相关推荐

Git上fork后的代码仓库如何与原仓库进行同步

问题场景:最近公司项目组不允许个人在远程仓库建分支,要求每个人fork一个仓库,以后就在自己fork的仓库里提交代码,通过pull request将代码合并到主仓库。

这里的问题在于,原来的主仓库更新后自己fork的仓库并不会自动同步,导致两个仓库的版本不一致。

1.复制项目到自己的仓库

在原项目的地址,比如/A/xxxx.git上,点击fork按钮,即将项目复制到了自己的仓库中,地址是/B/xxxx.git

2.下载项目到本地

下载到本地的项目会有一个默认的远程名origin,但这个远程名并不指向A仓库,而是指向自己fork的B仓库,也就是说之后进行的pull、push操作都是在B仓库上进行的。这个时候就需要将A、B两个仓库进行关联了

3.关联两个仓库

执行命令git remote -v查看远程仓库路径,如果只返回了两行结果,说明这时A、B两个仓库还未进行关联

origin /B/xxxx.git (fetch)origin /B/xxxx.git (push)

执行命令git remote add upstream /A/xxxx.git将A仓库设为B的上游代码库,upstream的名称可以随便取,写abc也可以,之后B就用upstream这个名字与A进行联系。再次查看远程仓库路径,检查是否设置成功

upstream/A/xxxx.git (fetch)upstream/A/xxxx.git (push)origin /B/xxxx.git (fetch)origin /B/xxxx.git (push)

4.拉取合并代码

执行命令git fetch upstream获取A上的更新(此时并不会修改本地代码)。然后执行git merge upstream/master将代码合并到自己的master分支上。或者直接使用git pull upstream master命令。

5.push代码到fork的仓库

通过之前的操作,只是将自己的本地库和原来的远程库进行了同步,所以还需要将fork的仓库也进行同步才行。git push origin master,将代码push到B仓库,到这里才算将代码全部同步。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。