我是否需要多次分叉存储库才能发出多个拉取请求?

时间:2015-08-27 17:29:17

标签: git github bitbucket pull-request git-fork

我想在bitbucket上使用git与另一个程序员合作。 由于我不是项目的所有者,我做了以下步骤:

  1. 我分叉了这个项目(我现在在我的回购中)
  2. 我做了我的更改并提交了他们
  3. 我推到了我的仓库
  4. 我提出了拉取请求
  5. 项目的所有者接受了我的拉取请求,所有更改现在都在他的回购中。

    现在,我想对项目所有者的修改版本发出新的拉取请求。我应该为同一个回购制作一个新的叉子吗?

    使用某些代码解决问题:

    1. 我分叉了这个项目(我现在在我的仓库上有一份副本)

      • 所有者/项目:所有者的回购
      • me / proj :我的主人/ proj的分叉
    2. 我做了我的更改并提交了他们

      git add。

      git commit -m“fork-commit”

    3. 我推到了我的仓库

      git push -u origin #推送到我的仓库:me / proj

    4. 我做了拉请求&它被所有者接受( me / proj 所有者/项目的主分支相同)

    5. 之后,所有者对其所有者/ proj的主分支进行了一些额外更改,回购情况如下:

      • me / proj 的主分支与我本地仓库的主分支完全相同。因此,命令 git fetch git pull 将不执行任何操作(这是正常的)
      • me / proj 的主分支和 owner / proj 的主分支是不同的。
    6. 如果要避免多个FORK,我应该在所有者回购中进行 git pull 吗?或者我们(我和所有者)是否应该共享相同的回购?

      谢谢,

2 个答案:

答案 0 :(得分:1)

  

为了避免多重力量,我应该对所有者回购做一个git拉?或者我们(我和所有者)是否应该共享相同的回购?

不需要多个叉子,只需从所有者仓库中取出一个git pull。

始终对不受信任的贡献者使用拉取请求。如果对所有者来说没问题,你应该尝试不同的工作流程,找到一个你们都很满意的工作流程。

答案 1 :(得分:0)

这取决于存储库所有者他想如何合并代码。

作为一个选项,在拉取请求的代码合并之后,您可以创建合并代码的新分支,以获取您和您所有者的所有更改并开始处理该回购。完成工作后,您可以在分支中推送代码,然后创建拉取请求。

如果您的所有者在创建拉取请求之前对基本仓库进行了任何更改,并且您需要在分支中使用该代码,则可以使用以下命令将基本分支合并到您的功能分支中 -

git checkout "your feature branch"

git pull

git merge "your owner's branch"

(提交您的提交评论)

git push