热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

手动创建一个Gitfork

如何解决《手动创建一个Gitfork》经验,为你挑选了1个好方法。

如果我理解分叉,它在概念上涉及以下步骤:

    镜像克隆源repo到目标repo

    在目标仓库上设置"上游"远程,指向源仓库

    其他一些东西,比如电子邮件订阅等(对这个问题不重要)

这是它的样子:

Original 

与克隆的主要区别在于这些步骤是服务器端,而不是本地步骤.如何在git命令行上手动复制?

这是我到目前为止所做的:

    将源代码库克隆到本地仓库

    将"origin"遥控器更改为指向目标目标仓库

    添加指向源仓库的"上游"远程

在这个阶段,我在本地仓库上设置了所有东西.我可以使用中间本地克隆同步原始和分叉存储库之间的更改.所以这就是我所拥有的:

Original                Forked
(server)               (server)
    ?                      ?
    ?                      ?origin
    ?                      ?
    ????????upstream??? (local)

现在我如何将此链接推送到服务器,即将原始repo作为服务器端 forked repo 的上游远程,以匹配第一个图?

请注意,这个问题不是特定于GitHub的 - 我可能也想用BitBucket来做这个.理想情况下,我也应该可以跨站点执行此操作.我在这里已经阅读了很多类似的问题,但是没有明确的答案.



1> 小智..:

您可以在命令行上使用API​​在Bitbucket上派生项目,但您至少需要对源项目的读取权限.

语法是:

curl -v --user {username}:"{password}" \
https://bitbucket.org/api/1.0/repositories/{accountname}/{repo_slug}/fork \
--data "name=mynewrepo"

例如

    要使用名称将项目projectABC从帐户分支ABC到您的帐户,请使用以下命令XYZProjectXYZ

    curl -v --user XYZ:"XYZPASSWORDXYZ" \
    https://bitbucket.org/api/1.0/repositories/ABC/ProjectABC/fork \
    --data "name=ProjectXYZ"
    

    有关详细信息,请参阅Bitbucket文档.

    现在在本地计算机上克隆此项目,

    git clone your_target_git_repository_path
    

    转到项目目录并添加upstream指向源存储库的远程,

    git remote add upstream source_git_repository_path
    

    现在,在任何时候从源存储库(例如从主分支)中提取更改,使用:

    git pull upstream master
    

    要将本地提交推送到服务器上的目标存储库,请使用:git push origin master

    当您对目标存储库的更改准备好与源存储库合并时,可以从Bitbucket网站或使用Bitbucket API创建Pull请求:Pull Request


推荐阅读
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • 深入理解Kafka服务端请求队列中请求的处理
    本文深入分析了Kafka服务端请求队列中请求的处理过程,详细介绍了请求的封装和放入请求队列的过程,以及处理请求的线程池的创建和容量设置。通过场景分析、图示说明和源码分析,帮助读者更好地理解Kafka服务端的工作原理。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 一、路由首先需要配置路由,就是点击good组件进入goodDetail组件配置路由如下{path:goodDetail,component:goodDetail}同时在good组件中写入如下点击事件,路由中加入 ... [详细]
  • angular.element使用方法及总结
    2019独角兽企业重金招聘Python工程师标准在线查询:http:each.sinaapp.comangularapielement.html使用方法 ... [详细]
  • 先记住几个专用名词,如下:Workspace:工作区IndexStage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库#在当前目录新建一个G ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • Java 11相对于Java 8,OptaPlanner性能提升有多大?
    本文通过基准测试比较了Java 11和Java 8对OptaPlanner的性能提升。测试结果表明,在相同的硬件环境下,Java 11相对于Java 8在垃圾回收方面表现更好,从而提升了OptaPlanner的性能。 ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • linux进阶50——无锁CAS
    1.概念比较并交换(compareandswap,CAS),是原⼦操作的⼀种,可⽤于在多线程编程中实现不被打断的数据交换操作࿰ ... [详细]
  • 本文主要介绍了gym102222KVertex Covers(高维前缀和,meet in the middle)相关的知识,包括题意、思路和解题代码。题目给定一张n点m边的图,点带点权,定义点覆盖的权值为点权之积,要求所有点覆盖的权值之和膜qn小于等于36。文章详细介绍了解题思路,通过将图分成两个点数接近的点集L和R,并分别枚举子集S和T,判断S和T能否覆盖所有内部的边。文章还提到了使用位运算加速判断覆盖和推导T'的方法。最后给出了解题的代码。 ... [详细]
  • 1.利用node实现页面实时更新,主要 ... [详细]
  • 初始化初始化本地空版本库,仓库,英文名repositorymkdirtest&&cdtestgitinit克隆项目到本地gitclone远程同 ... [详细]
author-avatar
廊坊0316慢摇酒吧_196
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有