该--depth 1选件git clone:
创建一个浅层克隆,其历史记录被截断为指定的修订数.浅存储库有许多限制(您不能克隆或获取它,也不能从中推送或插入它),但如果您只对历史悠久的大型项目的近期历史感兴趣并且希望将修补程序作为补丁发送.
但是我已经成功完成了一个浅层克隆,提交了一些更改并将这些更改推回到(裸克隆)源.
这对我有意义 - 我的意思是为什么不呢?当克隆的HEAD在原点可识别时,我的提交就在此之上,似乎没有理由.但手册说不然.
我喜欢浅层克隆的想法 - 例如drupal核心:当我从7开始时,我无法知道drupal 4中发生了什么 - 但我不想在脚下射击自己.
那么浅层克隆是否安全,在其中开发提交,再次拉动以跟上来自原点的更新?
该git clone --depth命令选项说
--depth <depth>
Create a shallow clone with a history truncated to the specified number of revisions.
A shallow repository has a number of limitations
(you cannot clone or fetch from it, nor push from nor into it),
but is adequate if you are only interested in the recent history of a large project with a long history,
and would want to send in fixes as patches.
Run Code Online (Sandbox Code Playgroud)
为什么浅克隆有这种限制?为什么它只是一个补丁工作流程?
对于某些项目工作流程,我需要将最新的提交从单个分支传递给编码器,然后让它们能够push(快进)开发到主服务器.这部分是为了安全,知识产权保护和回购规模,部分是为了减少大回购会给天真编码员带来的困惑.是否有允许这样的git工作流程?
更新:根据Karl Bielefeldt的回答,git checkout --orphan …
由于大量的提交,我有一个庞大的git repo,所以根据这里的建议我创建了一个浅层克隆.我已经对这个新的本地仓库进行了更改,现在我想在Github上推动我的起源(然后再到我在Heroku上的升级和生产遥控器).也许有一天我会学习阅读文档:
git clone --depth命令选项说
--depth创建一个浅层克隆,其历史记录被截断为指定的修订数.浅存储库有许多限制(您不能克隆或获取它,也不能从中推送或插入它)
那么......我如何从这种情况中解脱出来并将我的代码推送到Github?