我编写了一个在某些时候运行的脚本
git checkout --orphan $BRANCH_NAME
git rm -rf *
git commit --allow-empty -m 'Orphaned Branch inited'
完全按照我的工作方式运作
现在我必须部署它,并且不要问我为什么,这个服务器的git不支持--orphan选项,导致
error: unknown option `orphan'
git checkout --help没有显示该选项 git --version导致
git version 2.9.2
从我读到的内容来看,-orphan在git 2之前已经存在。
以任何方式触摸服务器都不是一个选项,所以我需要重新编写脚本,以便最终得到一个孤立的空分支(并且在此过程中不会弄乱我的其他分支)
我怎样才能做到这一点?
提前致谢
编辑:更新了命令
答案 0 :(得分:1)
自1.7.2以来的任何Git都应该支持--orphan
;但是,对于尚不存在的分支,git checkout --orphan
需要 new 分支名称。
如果您有一个不支持它的旧Git(例如,CentOS上的Git 1.7),您可以使用git update-ref
将正确的(不存在的)新分支名称写入HEAD
:
git update-ref HEAD refs/heads/new-branch-that-does-not-exist-yet
首次提交此类分支会创建它。
答案 1 :(得分:0)
这样做的一种方法是删除新分支的参考:
git checkout -b emptybranch
git rm -rf *
git update-ref -d refs/heads/emptybranch
git commit --allow-empty -m 'Orphaned Branch inited'