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

ahy6op9u  于 5个月前  发布在  Git
关注(0)|答案(4)|浏览(77)

这是一个场景:
我们有一个默认的分支master,我们从这个开始工作,创建分支并向上推等等。
我们现在已经创建了masterdevelop分支,并将其设置为默认开发分支。
我想知道的是,我现在如何知道我的git pull命令是通过命令行从默认分支请求更改,还是指向这个新的默认分支?
我所做的:

  • 由于从origin/mastermaster创建了新的默认分支git pull

另外,任何新的分支,它将来自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)

字符串

**更新:**本次默认分支变更发生在克隆仓库后。

l0oc07j2

l0oc07j21#

使用git 2.28,您可以使用以下命令设置全局配置git config --global init.defaultBranch {branchName}
{branchName}替换为默认的分支名称,现在每当你创建一个新的git仓库时,默认的分支将是这样。
更多细节在我的视频在这里:https://www.youtube.com/watch?v=YccHk6QlRss

ghhkc1vu

ghhkc1vu2#

当从GitHub克隆一个repo时,默认的分支存储在HEAD文件中:

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

字符串
如果在 * repo被克隆后,GitHub * 上的默认分支被 * 更改 *,这不会自动更新,但可以很容易地在本地修复:

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

9njqaruj

9njqaruj3#

据我所知,git没有“默认分支”的概念。用户界面(如GitHub)确实有一个默认的分支,当你打开网页时,你会默认看到某个分支(通常是主分支)。但就git而言,主分支并不特殊,它只是第一个分支的名称。
要创建新的分支,请将-b标志与checkout一起使用,如下所示:

git checkout -b develop

字符串
git branch命令将列出所有现有的分支,在当前分支旁边有一个*。你所做的任何提交都会被添加到当前分支。
在你的问题中,你提到了从远程拉取。相关的概念是“跟踪分支”;请参阅https://git-scm.com/book/id/v2/Git-Branching-Remote-Branches中的同名部分。
简而言之,当你

git pull origin master


它会从origin仓库的master分支中拉取更改到当前 checkout 的分支中。如果你愿意,你可以设置远程跟踪,这样git就可以根据你 checkout 的分支知道你想从哪里拉取。
例如,如果您有一个远程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

jei2mxaa

jei2mxaa4#

1.在GitHub上,导航到仓库的主页。
1.在您的存储库名称下,单击存储库设置。
1.在左侧菜单中,单击“分支”。
1.在“默认分支”下,在默认分支名称的右侧,单击。
1.使用下拉菜单,然后单击分支名称。
1.使用下拉菜单,然后单击一个分支名称。

相关问题