Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以从github存储库中删除所有提交?_Github - Fatal编程技术网

是否可以从github存储库中删除所有提交?

是否可以从github存储库中删除所有提交?,github,Github,我想将存储库重置为其原始状态,这样就如同我在Github上使用了不包含提交的create new repo按钮一样。我没有删除和重新创建repo的权限,是否有其他方法使远程repo在推送一次后不包含提交?如果我尝试推送一个空的、无提交的repo,我会得到一个错误:src refspec master不匹配任何..可以删除与repo关联的所有提交,但不能删除所有问题和请求。如果你需要一个完全干净的回购协议,你必须删除它并重新启动 如果您只需要删除提交,可以通过删除所有引用来完成,方法是运行类似于以

我想将存储库重置为其原始状态,这样就如同我在Github上使用了不包含提交的create new repo按钮一样。我没有删除和重新创建repo的权限,是否有其他方法使远程repo在推送一次后不包含提交?如果我尝试推送一个空的、无提交的repo,我会得到一个错误:src refspec master不匹配任何..

可以删除与repo关联的所有提交,但不能删除所有问题和请求。如果你需要一个完全干净的回购协议,你必须删除它并重新启动

如果您只需要删除提交,可以通过删除所有引用来完成,方法是运行类似于以下内容的命令:

git for-each-ref refs/heads/* refs/tags/* | awk '{print $3}' | xargs -L1 git push -d origin
这将尝试删除服务器上系统上的所有引用。对于使用默认分支(通常是主分支)的引用,它将失败

然后,删除默认分支在本例中,使用API master注意,您需要使用个人访问令牌代替文本令牌:

您应该用自己的回购替代bk2204/测试回购。这将删除最后剩余的引用,这将使您没有任何分支或标记


请注意,存储库仍将包含对拉请求的引用,例如refs/pull/1/head,您无法删除这些引用。如果你真的需要所有这些都消失,那么你就必须重新开始。

不,你不能,这就是版本控制的全部目的,这样人们在离开公司时就不会作恶了;也许您可以尝试推送一个删除所有文件的提交,然后将所有历史重新定位到它?这个答案会有帮助
curl -v -u token:TOKEN https://api.github.com/repos/bk2204/test-repo/git/refs/heads/master