github从分支创建项目

时间:2012-05-22 08:04:18

标签: git github git-branch git-fork

我有主分支https://github.com/Fivell/PHP_PROJECT/,最近为php 5.3 https://github.com/Fivell/PHP_PROJECT/tree/php5.3

创建了新分支

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

1 个答案:

答案 0 :(得分: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配置文件,并将原始网址替换为您的新网址:

$ 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补充道:

  

如何创建从新fork到当前master的pull请求的机会呢?任何编辑?

我在评论中回答说:

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

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