git 创建空白分支

背景:项目进行中,需要创建一个空分支。在 Git 中创建分支,是必须有一个父节点的,也就是说必须在已有的分支上来创建新的分支,如果你的工程已经进行了一段时间,这个时候是无法创建空分支的。解决方法:

1.使用 git checkout 的 --orphan 参数创建一个新分支

git checkout --orphan branchname 

在这里插入图片描述
这个命令会生成一个叫 dev 的分支,该分支会包含父分支的所有文件。但新的分支不会指向任何以前的提交,就是它没有历史,如果你提交当前内容,那么这次提交就是这个分支的首次提交。

2.删除所有文件(想要空分支,所以需要把当前内容全部删除)

2.1 此方法适用当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用

git rm -rf .   
# git rm -rf .      参数 rf 表示强制删除目录及文件 (.)表示所有文件   
# git rm -r         删除目录 
# git rm login.py   删除某个文件  

在这里插入图片描述

2.2 当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用

git rm --cached -r .     
# (.)会将全部文件删除  可以替换成某个文件或者目录 多个文件或者目录职期间用空格隔开

注:git rm --cached删除的是git追踪文件,并不是真正的删除文件
在这里插入图片描述

3.提交

如果没有任何文件提交的话,分支是看不到的,所以我们需要创建一个新文件,然后提交到新创建的 branch 就会显示出来。

touch new_file      # 创建新文件  
git add new_file     # 将改变提交到本地仓库
git commit      
# 如果你只是想创建一个空分支提交到远程仓库,前面的步骤可以省略 
git commit --allow-empty -m "description" 

4.推送

git  push origin branchname 

注:
​从索引中删除文件,或从工作树和索引中删除文件。 git rm 不会从您的工作目录中删除文件。 (没有任何选项只能从工作树中删除文件,并将其保留在索引中;)要删除的文件必须与分支的提示相同,并且在索引中不能对其内容进行更新,尽管可以使用 -f 选项覆盖(默认行为)。 当给出 --cached 时,暂存区内容必须与分支的提示或磁盘上的文件相匹配,从而仅将文件从索引中删除。使用 git rm 来删除文件,同时还会将这个删除操作记录下来;而使用 rm 来删除文件,仅仅是删除了物理文件,没有将其从 git 的记录中剔除。也就是说你在本地仓库文件目录下添加了一些文件,这些新添加的文件有一部分会提交到远程仓库,剩下的保留 对这些新创建的文件进行 git rm ---cached 操作是无效的,会报错 因为是本地新添加的文件,git 工作树中并没有。
在这里插入图片描述
截图中 edu.sql、数据模型分析.md 两个文件就是我在本地仓库目录下新添加的,执行出现了错误 。 当你使用 git add 命令时,上述中相关 git rm --cached 命令的操作可以忽视(没有卵用)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值