【问题标题】:Does git push origin always merges to master branch?git push origin 是否总是合并到 master 分支?
【发布时间】:2020-08-01 07:44:48
【问题描述】:

所以最初当我克隆 repo 时,它有两个分支

*master
*develop

然后在我的本地机器上,我从develop创建一个新分支

git checkout develop
git checkout -b feature/new-feature

我已经完成了本地机器上的所有提交,我希望它再次与 github 上的开发分支合并。

git push origin feature/new-feature

这会创建一个合并到开发分支或主分支的拉取请求吗?

【问题讨论】:

  • 请注意,git push 从来没有真正合并任何东西。它将 commits 从您的 Git 存储库发送到其他 Git 存储库。要发送的提交是您做出但他们还没有提交的提交,它们通过您制作它们的过程串在一起。然后,在发送了这些提交之后,您的 Git 现在要求他们的 Git 将其分支名称之一设置为 remember 该提交链中的 last 提交。由于他们还没有 feature/new-feature 分支,您可以要求他们创建它,以记住该提交链中的最后一次提交。
  • 现在 他们的 存储库有提交,您可以要求某人(某个人)合并这些提交。该请求,请合并这些提交,是一个“拉取请求”。如果你使用 GitHub 或 Bitbucket 或类似的,它们通常有一个用于创建这些拉取请求的 Web 界面。
  • 这个问题不明确:标题要求合并,正文要求创建PR。请edit澄清和关注

标签: git terminal


【解决方案1】:

它不会自动创建拉取请求。

它只是将分支推送到远程。

如果你想要一个拉取请求,你必须自己创建它,除非你有一个为你做的 scriot。

您可以在创建拉取请求时决定使用哪个目标分支。

请注意,拉取请求是某些 git 服务器(如 GitHub)的功能,而不是(直接)git 的功能。

推送新分支将在服务器上创建(完全相同的)分支。如果您想将其合并到现有分支中,您可以在本地(git merge 命令)或在服务器支持的情况下创建新的拉取请求来执行此操作。

【讨论】:

  • 它将推送到哪个分支?
  • 它将在服务器上创建一个新的远程分支,也就是一个新的分支。
  • 哦,好吧!所以我可以在 github 上选择我希望它进入哪个分支?
  • git log 向您显示最后一次提交(通常在您当前的分支上),它还会显示分支是否指向其中一个提交。如果分支进一步移动,您可能需要使用git branch --graph --all
  • @AdityaVerma:Git 的分支不记录“基础”或“父”分支。 GitHub 的拉取请求可以;您在发出拉取请求时选择基础分支。 GitHub 有一个自动选择基础分支的算法,而且大多数情况下它往往是正确的,但在某些情况下,您可能需要更改他们 (GitHub) 为您选择的基础。
【解决方案2】:

git push origin feature/new-feature 将创建一个推送到您的新分支feature/new-feature。不在masterdevelop 分支中

如果您想要在develop 分支中进行所有更改,则必须从feature/new-feature 分支合并,如git merge develop

很好的解释 -> www.freecodecamp.org

【讨论】:

  • 什么是推送请求?
猜你喜欢
  • 2015-02-04
  • 2021-07-14
  • 2011-08-07
  • 2012-06-09
  • 1970-01-01
  • 2011-07-13
  • 2012-05-22
  • 2013-01-14
相关资源
最近更新 更多