【问题标题】:github create project from branchgithub从分支创建项目
【发布时间】:2012-05-28 17:04:52
【问题描述】:

我有master分支https://github.com/Fivell/PHP_PROJECT/,最近为php 5.3创建了新分支https://github.com/Fivell/PHP_PROJECT/tree/php5.3

但我认为在这种情况下创建 fork 而不是分支会更好。 有人可以帮忙吗? 如何创建自己项目的 fork,而不是将其与 fork php5.3 合并并删除分支?

【问题讨论】:

  • 为什么你认为 fork 会更好?除了 URL 之外,branch 和 fork 基本没有区别。
  • 我想稍后更改其中一个分叉的所有者。

标签: git github git-branch git-fork


【解决方案1】:

您不能在 GitHub 上创建自己的项目。

一种解决方案是创建另一个帐户,然后从那里分叉。

另一个是“手动分叉”,即您的 GitHub 存储库的本地克隆“上传”(git push)到一个新的空 gitHub 存储库(但不会有任何“拉取请求”链接可能在两个回购)

this gist:

假设我们有一个名为“foo”的现有项目,我们想要创建一个名为“bar”的分支。

首先,在 GitHub 上创建一个名为“bar”的新项目。

接下来,使用名称“bar”克隆 foo:

$ git clone git@github.com:YOURNAME/foo.git bar
$ cd bar

接下来,编辑您的 Git 配置文件并将原始 URL 替换为您的新 URL:

$ vim .git/config

将您的原始存储库添加为上游源:

$ git remote add upstream git@github.com:YOURNAME/foo.git

最后,将您的新存储库推送到 GitHub:

$ git push -u origin master

现在您可以按预期从您的新存储库 (bar) 推送/拉取。
您还应该能够使用以下命令合并上游更改:

$ git fetch upstream
$ git merge upstream/master

OP 补充说:

从新的分支创建拉取请求到当前主节点的机会如何?任何编辑?

我在cmets中回复:

不会有任何拉取请求,只会从您的“手动分叉”存储库中直接提取到您的主 GitHub 存储库的本地克隆。
即:您将在本地仓库中添加第二个remote,指向您在 GitHub 上的“手动分叉”

因此,如果您在 GitHub 上的第二个存储库(“手动分叉”)上发布任何修改,您可以直接在原始 GitHub 存储库的本地克隆中获取它们,合并它们,测试它们,最后将它们推送回说原始回购。

【讨论】:

  • 谢谢,但我想从分支创建分支而不是删除它。有机会从新的分叉创建拉请求到当前的主控吗?任何编辑?
  • @Fivell 考虑到您不能 fork 自己的项目,唯一的解决方案是克隆它。从那里,不会有任何拉取请求,只会从您的“手动分叉”存储库直接获取到您的主 GitHub 存储库的 本地 克隆。即:您将向本地存储库添加第二个远程,指向您在 GitHub 上的“手动分支”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-01
  • 1970-01-01
  • 2017-08-27
  • 2019-08-28
  • 1970-01-01
  • 2017-10-31
相关资源
最近更新 更多