场景:本地master分支已经存在,并且推送到远程,但是发现其中一个文件与本地不一致(git命令行打开位置不对,导致该文件本身包含git仓库并且与远程关联)并且没有办法修改和覆盖。
解决方法:创建一个远程空白分支,将项目推送到新的空白分支,然后删除旧分支。
1、创建并切换新分支
$ git branch 分支名
$ git checkout 分支名
或者执行
$ git checkout --orphan 分支名
2、清理本地分支
$ git rm --cached -r .
$ git clean -f -d
3、创建空的 commit
git commit --allow-empty -m "新分支初始化"
4、推送新分支
git push origin 分支名
此时已经可以看到远程的新的空白分支了
5、解除本地分支与远程的绑定
git remote rm origin