我刚刚发现了git checkout --orphan
,但我不知道如何使用它。它的帮助页面说它创建了一个新的非专利分支。
在master
分支中,我尝试git checkout --orphan br
,只是看到工作目录中的文件更改为“要提交的更改”,git log
说fatal: bad default revision 'HEAD'
1}}。
那么使用git checkout --orphan
的优势是什么?
答案 0 :(得分:27)
git checkout --orphan
的核心用途是在非新存储库中创建类似git init
状态的分支。
如果没有这种能力,你的git分支的所有都会有一个共同的祖先,你的初始提交。这是一种常见的情况,但绝不是唯一的一种情况。例如,git允许您在单个存储库中跟踪多个独立项目作为不同的分支。
这就是为什么您的文件被报告为“要提交的更改”的原因:在git init
状态下,第一次提交尚未创建,因此所有文件都是git的新文件。
答案 1 :(得分:11)
它被例如使用GitHub Pages,它将repo的网站存储在repo中但位于单独的分支上。没有理由在该分支上存储除网站历史之外的任何内容。
答案 2 :(得分:0)
我们正从私有仓库转移到公共仓库,由于敏感的提交信息,我们希望将一个分支重置为new
并将其推送为空白分支。这是一种典型的工作流程方式: