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

时间:2018-07-10 21:55:19

标签: git github

这是一个场景:

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

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

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

我做了什么: -由于创建了新的默认分支git,因此从原点/主节点拖入我的主节点

还有任何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)

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

5 个答案:

答案 0 :(得分:20)

从GitHub克隆存储库时,默认分支存储在HEAD文件中:

$ cat .git/refs/remotes/origin/HEAD
ref: refs/remotes/origin/master

如果克隆回购协议后,在GitHub 上对默认分支进行了 changed 更改,则它不会自动更新,但可以在本地轻松修复:

git remote set-head origin -a

-aset refs/remotes/<name>/HEAD according to remote

或显式地到命名分支:

git remote set-head origin develop

现在,HEAD指向新位置:

$ cat .git/refs/remotes/origin/HEAD
ref: refs/remotes/origin/develop

答案 1 :(得分:17)

通过git 2.28,您可以使用以下命令设置全局配置 git config --global init.defaultBranch {branchName}

用默认分支名称替换{branchName} 现在,每当您创建新的git repo时,默认分支就是这个

我的视频中有更多详细信息-https://www.youtube.com/watch?v=YccHk6QlRss

答案 2 :(得分:1)

据我所知,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>时,会自动建立远程跟踪。

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

答案 3 :(得分:0)

如果要签出到新的默认分支,请运行:

git checkout <name-of-new-branch>

(假设远程仓库中已经存在上述分支)

答案 4 :(得分:0)

  1. 在 GitHub 上,导航到存储库的主页。

  2. 在您的存储库名称下,点击 ⚙︎设置。

  3. 在左侧菜单中,单击“分支”。

  4. 在“默认分支”下,点击默认分支名称右侧。

  5. 使用下拉菜单,然后单击分支名称。

  6. 使用下拉菜单,然后单击分支名称。简单?