什么是`git checkout --orphan`用于什么?

jsv*_*isa 34 git

我刚刚发现git checkout --orphan,但我不知道如何使用它.它的帮助页面说它创建了一个新的非专利分支.

master分支中,我试过git checkout --orphan br,只是看到工作目录中的文件更改为"要提交的更改",以及git log说法fatal: bad default revision 'HEAD'.

那么使用的优势是 git checkout --orphan什么?

JB.*_*JB. 36

核心用途git checkout --orphangit init在非新的存储库上达到类似的情况.

如果没有这种能力,你的所有 git分支都会有一个共同的祖先,你的初始提交.这是一种常见的情况,但绝不是唯一的一种情况.例如,git允许您在单个存储库中跟踪多个独立项目作为不同的分支.

这就是为什么你的文件被报告为"要提交的更改"的原因:在一个git init州,第一次提交还没有创建,所以所有文件都是git的新手.

  • 在您想要保留某个分支的文件并截断​​存储库的历史记录的情况下。我目前所处的场景是,我必须截断 git 历史记录才能缩小该存储库的大小,因为我的 Azure 应用服务没有足够的空间来容纳该存储库 >16 GB 的提交历史记录。 (2认同)

Fre*_*Foo 14

它被例如GitHub Pages使用,它将repo的网站存储在repo中但在一个单独的分支上.除了网站在这个分支上的历史记录之外,没有理由存储任何内容.


use*_*754 7

我们正在从私有仓库转移到公共仓库,并且由于敏感的提交信息,我们希望将分支重置为new并将其推送为空白分支。以下是典型的工作流程方式:

如何删除github上的所有提交历史记录?