温馨提示:本文翻译自stackoverflow.com,查看原文请点击:github - Change from master to a new default branch git
git github

github - 从master更改为新的默认分支git

发布于 2020-04-09 11:39:06

这是一个场景:

我们有一个默认的分支Master,我们以此为基础进行工作,创建分支并向上推等等。

现在,我们已经在Master之外创建了一个Develop分支,并将其设置为默认的开发分支。

我想知道的是,我现在如何知道我的git pull命令是否正在通过命令行从默认分支请求更改?或指向这个新的默认分支?

我做了什么:-自从创建新的默认分支git以来,我就从origin / master引入了我的master

此外,任何neww分支都来自Master还是Develop?

如你看到的

On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean
PS C:\Users\dir\Documents\GitHub\repo> git log
commit 867cxx

fd956f73dc91d0022b (HEAD -> master, origin/master, origin/develop, origin/HEAD)

更新: 默认分支的更改在克隆存储库后发生。

查看更多

提问者
Harry
被浏览
339
Oliver Evans 2018-07-11 06:19

据我所知,git没有“默认分支”的概念。诸如GitHub之类的用户界面确实具有默认分支,这意味着当您打开网页时,默认情况下会看到某个分支(通常是主分支)。但是就git而言,master分支并不特殊,它只是赋予第一个分支的名称。

要创建新分支,请使用-b带有标志checkout,如下所示:

git checkout -b develop

git branch命令将列出所有现有分支,并*在当前分支旁边列出您所做的所有提交都将添加到当前分支中。

在您的问题中,您提到从远程拉出。相关概念是“跟踪分支机构”;请参阅https://git-scm.com/book/id/v2/Git-Branching-Remote-Branches上具有该名称的部分

简而言之,当你做

git pull origin master

它将把更改从存储库master分支origin入当前签出的任何分支。如果愿意,您可以设置远程跟踪,以便git可以根据已签出的分支知道要从何处提取信息。

例如,如果您有一个远程develop-remote分支和一个本地develop-local分支,则可以通过以下方式将本地分支设置为跟踪远程分支:

git checkout develop-local
git branch --set-upstream-to origin/develop-remote

另外,它们可能都被简单地称为develop,为了清楚起见,在这里我将它们区分开。

最后,我应该提一下,当您执行时git pull <url-of-repo>,会自动建立远程跟踪。

PS有关遥控器的更多信息(例如,这origin什么意思?),请参阅https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes