Git 没有主控时如何切换到主控

Git 没有主控时如何切换到主控,git,Git,我已经用git建立了一个网站,从一开始我就没有在master分支做过任何工作,现在它是空的。我从以下几点开始: $ git checkout -b dev_project 我在那个部门做了所有的开发工作。我认为将主分支用作发布分支会很好,但我可以看到,在本地我没有该分支 c:/wamp/www>git branch 8.0.x. (my drupal branch) dev_project (my project branch) 那么,我如何将dev_项目头合并到master中呢?分支

我已经用git建立了一个网站,从一开始我就没有在master分支做过任何工作,现在它是空的。我从以下几点开始:

$ git checkout -b dev_project
我在那个部门做了所有的开发工作。我认为将主分支用作发布分支会很好,但我可以看到,在本地我没有该分支

c:/wamp/www>git branch
8.0.x. (my drupal branch)
dev_project (my project branch)

那么,我如何将dev_项目头合并到master中呢?

分支无非是指向git中提交的指针。因为您还没有创建主分支,所以根本没有这样的指针,因为它无法指向任何对象。 只需调用

git branch master
这将创建指针并将其指向当前提交。之后,您可以继续处理功能分支,并根据需要与
master
合并


但是,我建议使用标记来标记发布:分支在设计上是一个动态实体,从提交历史来看,没有任何东西可以将给定的提交连接到任何分支(引用提交的是分支,而不是相反)。因此,如果只使用主分支发布版本,则无法再次找到早期版本。相反,标记是一个固定的实体,用于标记发布。

创建分支主节点:

git branch master dev_project
你没有任何东西可以合并。Master实际上将从dev_项目中分离出来。这看起来很奇怪,但实际上这是你想要做的

继续处理dev_项目,当您想要发布时,将其合并到master中,发布:

git checkout master
git merge dev_project

Git中的默认分支名称是master。如果您键入“git branch”,您看不到master吗?我知道这是默认的分支,但在本地键入git branch时,我看不到master。这让我提出了一个问题:-)当你做一个“git分支-a”时,你看到一个主分支了吗?(这显示了你所有遥控器中的分支)D J:没有,但解决方案似乎是按照答案的建议,在本地集中主分支。cmaster:在我的github repo中有一个主分支,但我在本地没有。我还能在本地结账吗?我不应该做git fetch all或类似的事情来从Github检索主分支?cmaster:我想我会与主分支合并,并设置一个发布标签。这样我就可以找到早期版本,但只在主分支上。@TBJ调用
git-branch-a
时会得到什么输出?您是否看到一行
遥控器/原点/主机
?如果没有,它是否会在执行
git获取后出现?如果是这种情况,那么是的,您需要签出上游
主控盘
git checkout master
应该做),合并您的功能分支,然后推送结果。cmaster:谢谢您的回答。问题解决了。我签出了主分支,进行了拉取(从远程主分支获取自述文件,这是该分支上唯一的文件)。在那之后,我在本地创建了git add-A,并将本地主分支推送到Github的repo。我还在本地添加了一个发布标签,并将其推送。所以现在我的远程主机包含了我的第一个发布版本和一个标签。