如何在GitHub上从master创建开发分支

时间:2016-09-13 20:28:36

标签: git github

我在GitHub上创建了一个repo,到目前为止只有一个$this->container->get('security.context')->isGranted('ROLE_SUPER_ADMIN') 分支。我的本地工作副本与GitHub上的远程/来源master完全一致。

我现在想在GitHub上创建一个master分支,以便团队中的其他人可以开始将更改推送到development(而不是直接推送到development)并提交PR,请求代码评论等。

所以我尝试在本地创建一个新的master分支并推送它:

development

但是git只是说git checkout -b development git push origin development:master 。所以我问:

如果我当前使用Everything up-to-date,我该如何创建一个包含master精确副本的远程development分支? < / p>

4 个答案:

答案 0 :(得分:37)

当你这样做时

$ git push origin development:master

实际发生的是git正在<local>:<remote>并将<remote>更新为<local>分支。

自从git checkout -b development执行master后,您的本地development已完成所有提交master;因此它表明一切都是最新的。

你可以做到

$ git checkout -b development
$ git push origin development

推送新分支

答案 1 :(得分:10)

创建git开发分支

您可以像这样列出所有当前分支:

git branch -a

这将显示所有本地和远程分支。假设只有一个master分支,您将看到以下内容:

* master
  remotes/origin/master

*表示当前分支。

要创建一个名为developer的新分支,请使用以下命令:

git checkout -b develop

-b标志创建分支。现在列出分支应该显示:

* develop
  master
  remotes/origin/master

更改分支机构

您不应直接将任何内容提交到master分支。而是在develop分支上完成所有工作,然后在有新的公共发行版时将开发合并到master中。

您已经在自己的develop分支中,但是如果不在,切换方式如下:

git checkout develop

这与创建分支的方式相同,但没有-b

对开发进行更改

进行更改时,请照常添加并提交:

git add .
git commit -m "whatever"

第一次将其推入遥控器时,方法如下:

git push -u origin develop

-u标志代表--set-upstream。第一次之后,您只需要这样做:

git push

合并发展为掌握

一旦您的develop准备合并到master中,您就可以这样做:

首先切换到您的本地主分支:

git checkout master

要将开发合并为主,请执行以下操作:

git merge develop

然后将本地主机中的更改推送到远程主机:

git push

完成。

删除分支

如果您不再需要develop分支,或者只想删除它并重新开始,则可以执行以下操作:

删除远程开发分支:

git push -d origin develop

然后删除本地分支:

git branch -d develop

-d表示删除。

答案 2 :(得分:4)

您也可以使用git flow。这将自动创建具有正确命名约定的分支,这是一个好习惯。

git flow init

然后按下

git push --set-upstream origin develop

答案 3 :(得分:3)

这对我有用

git push origin development