orphan分支是将N个完全不同的项目作为N个分支放在同一个仓库中, 并且分支之间互不影响。如果不在orphan分支里提交东西, 这个分支其实没有创建。
git checkout -b 分支是强制创建新一分支,如果创建的分支名本地已经有了,会强制覆盖为新建立的分支。而用checkout切换分支时, 本地文件系统会瞬间发生变化.
git checkout --orphan <branch> 从当前的分支上建立一个没有任何提交历史记录的分支。但是当前分支的内容一一俱全。简单的理解你的钱总数按现在的算,从开始到现在赚钱的记录都没有了。而git checkout -b <branch> 是你的钱总数按现在的算,之前的赚钱记录也记着。