我想将我的默认分支更改为master
-main
我已在本地完成以下操作:
git branch -m master main
git push origin main
git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/main
Run Code Online (Sandbox Code Playgroud)
现在当我这样做时:
git branch -a
Run Code Online (Sandbox Code Playgroud)
我得到以下信息:
* main
remotes/origin/HEAD -> origin/main
remotes/origin/main
remotes/origin/master
Run Code Online (Sandbox Code Playgroud)
当我尝试删除master
分支时出现错误:
! [remote rejected] master (deletion of the current branch prohibited)
Run Code Online (Sandbox Code Playgroud)
当我这样做时,在我的 git 服务器上:
git branch
Run Code Online (Sandbox Code Playgroud)
我得到以下信息:
main
* master
Run Code Online (Sandbox Code Playgroud)
遥控器 ( ll -a
) 上的内容如下:
drwxrwxr-x 7 ubuntu ubuntu 4096 Oct 21 08:56 ./
drwxr-xr-x 46 ubuntu ubuntu 4096 Sep 4 12:20 ../
-rw-rw-r-- 1 ubuntu ubuntu 23 Feb 23 2021 HEAD
drwxrwxr-x 2 ubuntu ubuntu 4096 Feb 23 2021 branches/
-rw-rw-r-- 1 ubuntu ubuntu 66 Feb 23 2021 config
-rw-rw-r-- 1 ubuntu ubuntu 73 Feb 23 2021 description
drwxrwxr-x 2 ubuntu ubuntu 4096 Feb 23 2021 hooks/
drwxrwxr-x 2 ubuntu ubuntu 4096 Feb 23 2021 info/
drwxrwxr-x 46 ubuntu ubuntu 4096 Oct 21 09:48 objects/
drwxrwxr-x 4 ubuntu ubuntu 4096 Feb 23 2021 refs/
Run Code Online (Sandbox Code Playgroud)
所以我的问题(最后)是如何将我的远程分支重新指向,main
以便我可以master
在本地和远程删除?
小智 10
对于任何发现此问题试图像我一样更改终端中的默认分支的人:
git config --system init.defaultbranch whateverYouWant
Run Code Online (Sandbox Code Playgroud)
您还必须HEAD
直接在服务器上更改指针,而不仅仅是在将其用作远程服务器的克隆上。这可能可以通过两种方式完成:
将远程 HEAD 更改为新分支,然后删除旧分支:
git symbolic-ref HEAD refs/heads/main
git branch -d master
Run Code Online (Sandbox Code Playgroud)
或者删除新分支,然后重命名旧分支(并重新推送提交):
git branch -d main
git branch -m main
Run Code Online (Sandbox Code Playgroud)
(请注意,git remote set-head -a
可以在克隆上使用它,以便在服务器上更改 origin/HEAD 后自动更新它。)
归档时间: |
|
查看次数: |
18687 次 |
最近记录: |