1 - 创建空白分支
git中创建新的空白分支
在偶尔的情况下,可能会想要保留那些与你的代码没有共同祖先的分支。例如在这些分支上保留生成的文档或者其他一些东西。
如果需要创建一个不使用当前代码库作为父提交的分支,可以用如下的方法创建一个空分支。
方法1
执行以下git命令:
git symbolic-ref HEAD refs/heads/newbranch
rm .git/index
git clean -fdx
<do work>
git add your files
git commit -m 'Initial commit'
方法2
这里以github的操作为例,下面试图创建一个名为gh-pages的空分支:
$ cd repo
$ git checkout --orphan gh-pages
# 创建一个orphan的分支,这个分支是独立的
Switched to a new branch 'gh-pages'
$ git rm -rf .
# 删除原来代码树下的所有文件
rm ......
添加内容并push
注意这个时候用git branch命令是看不见当前分支的名字的,除非进行了第一次commit。
下面我们开始添加一些代码文件,例如这里新增了一个index.html:
$ echo \"My GitHub Page\" > index.html
$ git add .
$ git commit -a -m \"First pages commit\"
$ git push origin gh-pages
在commit操作之后,你就可以用git branch命令看到新分支的名字了,然后push到远程仓库。
2 - 重命名分支
git中对现有分支进行重命名
本地操作
在本地 clone 好仓库之后, 执行分支的重命名操作, 如将默认分支从 mater 重命名为 main, 则需要执行如下命令:
# 确认在 master 分支上
# git checkout master
# 1. 本地进行分支重命名: master -> main
git branch -m main
# 2. 删除远程仓库的旧分支
git push origin --delete master
# 3. 推送新分支到远程仓库
git push origin -u main
对于其他位置 clone 的本地仓库, 则需要更新本地仓库:
# 获取最新变更
git fetch origin
# 删除本地旧分支
git branch -d master
# 切换到新分支并建立跟踪
git checkout --track origin/main
备注: 使用的
-m是--move的简写
github上操作
在 github 页面上操作重命名分支,如将默认分支从 mater 重命名为 main, 对于本地已经 clone 的仓库,则需要执行如下命令:
git branch -m master main
git fetch origin
git branch -u origin/main main
git remote set-head origin -a