
通常来说,一个Git仓库由内部组织者和外部协作者共同维护。对于内部开发者而言,他们可以通过master-develop-feature模型进行代码开发,在仓库
博客园 2023-04-04 17:41:02
在Git的操作过程中,一般的组织内部工作模式可以在同一个仓库上的master-develop-feature不同分支上进行开发,也有一些人和外部协作者会通过Fork到自己本地的仓库进行更新的方案。但是对于Fork仓库的更新有一个问题是,如果长期在自己本地更新,有可能会逐渐脱离原始的分支,甚至会产生众多的冲突。那么为了避免在开发过程中遇到众多的冲突,建议大家在开发的过程中定期从远程的原始仓库同步过来。本文要探讨的是,如何跟远程的上游仓库进行同步。
方法一:强制拉取第一种方法非常的简单粗暴,其实不建议使用,但是如果确实嫌麻烦的人,可以点击下图中的圈圈按钮,直接从原始仓库强制拉取。
之所以不推荐这种方法,是因为在远程拉取的过程中有可能出现冲突,但是因为采取了强制性拉取的策略,所以实际上本地开发的一些内容有可能会在拉取的过程中被覆盖。
【资料图】
以下详细介绍下远程仓库同步的方法。首先我们从远程clone一个我们自己Fork的仓库到本地来:
$ git clone https://gitee.com/dechin/mindsponge.git正克隆到 "mindsponge"...Username for "https://gitee.com": dechinPassword 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 -voriginhttps://gitee.com/dechin/mindsponge.git (fetch)originhttps://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 -voriginhttps://gitee.com/dechin/mindsponge.git (fetch)originhttps://gitee.com/dechin/mindsponge.git (push)remotehttps://gitee.com/helloyesterday/mindsponge.git (fetch)remotehttps://gitee.com/helloyesterday/mindsponge.git (push)
我们发现多了两个名为remote的链接,这个就是我们Fork来的原始仓库。当然,要构建这种远程的链接,需要拥有远程仓库的相关操作权限,如push和fetch等。完成上述操作后,如果我们在本地执行了一些更新,并且已经add
和commit
过了,那么我们就可以向远程仓库进行push:
$ git push origin develop$ git push remote develop
只要有权限,就两边都可以pull和push。这样一来,我们在本地开发了一定的时间之后,也可以从remote上pull下来最新的代码,在本地解决好相关的冲突之后,push到自己Fork的分支。最后在完成特性的开发之后,再提交一个Pull Request到远程remote的分支上,这样是一个比较合理的Git操作。
总结概要通常来说,一个Git仓库由内部组织者和外部协作者共同维护。对于内部开发者而言,他们可以通过master-develop-feature模型进行代码开发,在仓库中创建相应的特性分支和开发分支,最后再合入到主分支供大家使用。而对于外部开发者而言,最好的方式是Fork一个仓库到自己本地,然后使用本文介绍的方法二去定期跟远程remote仓库进行同步,避免在长时间的开发周期中遇到一些冲突。
版权声明本文首发链接为:https://www.cnblogs.com/dechinphy/p/git-remote.html
作者ID:DechinPhy
更多原著文章请参考:https://www.cnblogs.com/dechinphy/
打赏专用链接:https://www.cnblogs.com/dechinphy/gallery/image/379634.html
腾讯云专栏同步:https://cloud.tencent.com/developer/column/91958
CSDN同步链接:https://blog.csdn.net/baidu_37157624?spm=1008.2028.3001.5343
51CTO同步链接:https://blog.51cto.com/u_15561675
通常来说,一个Git仓库由内部组织者和外部协作者共同维护。对于内部开发者而言,他们可以通过master-develop-feature模型进行代码开发,在仓库
4月3日,上汽红岩新型智能渣土车推广暨交车仪式在重庆巴南·陆海之约2023消费季·协信汽车公园商用车消费节上盛大举行。相关政府领导,
1、早期:前列腺结石早期表现是前列腺纤维化,患者大多数无症状,前列腺纤维化可以在前列腺内多年而无不适,但是只要仔细观察,
当地时间4月3日,美国国家航空航天局(NASA)公布了自1972年以来首次探月任务的计划执行名。名单由四名机组人员组成,其中包括一名女性宇航员
由郑州市人民政府和中国电子信息产业集团有限公司联合主办的此次大会,邀请了业界专家及50余家数据产业企业代表出席。主办方表示,此次大会是
观点网讯:4月3日,南昌市自然资源和规划局公布了南昌市本级2023年度土地供应计划。观点新媒体从中获悉,2023年南昌市区范围内计划供地20297亩
参考消息网4月4日报道据阿根廷布宜诺斯艾利斯经济新闻网4月3日报道,打击假新闻已成为巴西卢拉政府的首要任务之一。卢拉政府在3月26日已经启动
大家好,这里是阿呆的峡谷日记,将会给你带来王者荣耀最新的爆料内容。又是新的一周,按照王者荣耀一周一款皮肤的情况来看,相信很多玩家也非
齐鲁网·闪电新闻4月4日讯“税”风和煦,“惠”暖人心。近日,以第32个全国税收宣传月为契机,国家税务总局广饶县税务局党
4月4日鹏华基金管理有限公司发布《关于鹏华中证港股通科技交易型开放式指数证券投资基金暂停申购、赎回业务的公告》。公告中提示,为非港股通
中国农科新闻网是农业科技报社顺应网络时代新媒体发展趋势,在三农领域倾心打造的集资讯、互动、网上展示于一体的全媒体平台。
泗泾塘边,水波氤氲,临近清明,乡愁绵长。走进泗泾老街,一间间老宅有了新“主人”,或是老面孔,或是新面孔,他们都选择留在这里,续写老街
根据双方公布的信息,Emanuel将充分利用其公司现有的专业团队和资源在世界各地谈判媒体转播权和举办活动,以增加WWE的销售额并削减成本。几十
孙淑建副主任医师马鞍山市人民医院病情分析:腰椎4-5椎间盘突出是否
按照规定,孙颖莎和陈幸同都通过直通赛获得了世乒赛门票,而剩余的3个单打名额将由教练组分配,最终教练组把3个单打名额分发给陈梦,王曼昱,