Git链接上游仓库

科技资讯 投稿 6600 0 评论

Git链接上游仓库

技术背景

方法一:强制拉取

第一种方法非常的简单粗暴,其实不建议使用,但是如果确实嫌麻烦的人,可以点击下图中的圈圈按钮,直接从原始仓库强制拉取。

方法二:创建远程同步

以下详细介绍下远程仓库同步的方法。首先我们从远程clone一个我们自己Fork的仓库到本地来:

$ git clone https://gitee.com/dechin/mindsponge.git
正克隆到 'mindsponge'...
Username for 'https://gitee.com': dechin
Password for 'https://dechin@gitee.com': 
remote: Enumerating objects: 7869, done.
remote: Counting objects: 100% (7869/7869, done.
remote: Compressing objects: 100% (2198/2198, done.
remote: Total 7869 (delta 5653, reused 7869 (delta 5653, pack-reused 0
接收对象中: 100% (7869/7869, 34.72 MiB | 1.15 MiB/s, 完成.
处理 delta 中: 100% (5653/5653, 完成.

进入本地目录,查看远程链接:

$ cd mindsponge/
$ git remote -v
origin	https://gitee.com/dechin/mindsponge.git (fetch
origin	https://gitee.com/dechin/mindsponge.git (push

可以看到,此时只跟自己Fork的两个仓库有链接,也就是只能pull或者push到origin的这个仓库上面。然后可以使用git remote add的方法添加原始仓库的链接:

$ git remote add -t develop remote https://gitee.com/helloyesterday/mindsponge.git

上一步的操作中我们甚至可以使用-t来配置与远程仓库构建链接的指定分支。此时我们再次查看远程链接:

$ git remote -v
origin	https://gitee.com/dechin/mindsponge.git (fetch
origin	https://gitee.com/dechin/mindsponge.git (push
remote	https://gitee.com/helloyesterday/mindsponge.git (fetch
remote	https://gitee.com/helloyesterday/mindsponge.git (push

我们发现多了两个名为remote的链接,这个就是我们Fork来的原始仓库。当然,要构建这种远程的链接,需要拥有远程仓库的相关操作权限,如push和fetch等。完成上述操作后,如果我们在本地执行了一些更新,并且已经addcommit过了,那么我们就可以向远程仓库进行push:

$ git push origin develop
$ git push remote develop

只要有权限,就两边都可以pull和push。这样一来,我们在本地开发了一定的时间之后,也可以从remote上pull下来最新的代码,在本地解决好相关的冲突之后,push到自己Fork的分支。最后在完成特性的开发之后,再提交一个Pull Request到远程remote的分支上,这样是一个比较合理的Git操作。

总结概要

版权声明

本文首发链接为:https://www.cnblogs.com/dechinphy/p/git-remote.html

更多原著文章请参考:https://www.cnblogs.com/dechinphy/

腾讯云专栏同步:https://cloud.tencent.com/developer/column/91958

51CTO同步链接:https://blog.51cto.com/u_15561675

编程笔记 » Git链接上游仓库

赞同 (33) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽