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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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回购成为裸回购_Git_Github - Fatal编程技术网

如何使现有github回购成为裸回购

如何使现有github回购成为裸回购,git,github,Git,Github,我有私人的github回购协议。由于错误,我推错了源代码。我是否可以将此回购与创建的裸回购相同? 只是为了实验,我创建了公共github repo 我按照以下步骤将本回购协议变成裸回购协议 git clone https://github.com/shabbirlimdiwala/shabbir_test_repo.git cd shabbir_test_repo mv .git .. rm -rf * mv ../.git . mv .git/* . rmdir .git git c

我有私人的github回购协议。由于错误,我推错了源代码。我是否可以将此回购与创建的裸回购相同? 只是为了实验,我创建了公共github repo

我按照以下步骤将本回购协议变成裸回购协议

git clone https://github.com/shabbirlimdiwala/shabbir_test_repo.git
cd shabbir_test_repo
mv .git .. 
rm -rf * 
mv ../.git . 
mv .git/* . 
rmdir .git 
git config --bool core.bare true
这些步骤是如何使回购成为裸回购的?

裸回购这个词并不是你所认为的意思。“裸”存储库是指没有关联工作目录的Git存储库(也就是说,当您运行
Git init--bare…
时,它就是您得到的)

从您的评论听起来,好像您只是想从存储库中删除现有的存储库历史记录。简单地删除并重新创建GitHub存储库会简单得多,但如果由于某些原因无法做到这一点,则以下操作应满足您的需要:

  • 克隆远程存储库:

    $ git clone git@github.com:yourusername/yourrepo.git
    
    $ git push -f origin master
    
  • 删除所有远程标记:

    $ cd yourrepo
    $ git ls-remote --tags origin | awk '!/\^\{}/ {printf ":%s\n", $2}' | xargs git push origin
    
  • 删除所有远程分支(主分支除外):

  • 将本地主分支替换为空分支。首先,创建一个新的孤立分支:

    $ git checkout --orphan newmaster
    
  • 清除索引:

    $ git rm -rf .
    
  • 进行一次空提交:

    $ git commit --allow-empty -m 'Initial commit'
    
  • 删除旧的主分支:

    $ git branch -D master
    
  • newmaster
    分支重命名为
    master

    $ git branch -m master
    
  • 强制推送到远程存储库:

    $ git clone git@github.com:yourusername/yourrepo.git
    
    $ git push -f origin master
    
现在,您的Github存储库是空的。

单词“bare”并不是您认为的意思。“裸”存储库是指没有关联工作目录的Git存储库(也就是说,当您运行
Git init--bare…
时,它就是您得到的)

从您的评论听起来,好像您只是想从存储库中删除现有的存储库历史记录。简单地删除并重新创建GitHub存储库会简单得多,但如果由于某些原因无法做到这一点,则以下操作应满足您的需要:

  • 克隆远程存储库:

    $ git clone git@github.com:yourusername/yourrepo.git
    
    $ git push -f origin master
    
  • 删除所有远程标记:

    $ cd yourrepo
    $ git ls-remote --tags origin | awk '!/\^\{}/ {printf ":%s\n", $2}' | xargs git push origin
    
  • 删除所有远程分支(主分支除外):

  • 将本地主分支替换为空分支。首先,创建一个新的孤立分支:

    $ git checkout --orphan newmaster
    
  • 清除索引:

    $ git rm -rf .
    
  • 进行一次空提交:

    $ git commit --allow-empty -m 'Initial commit'
    
  • 删除旧的主分支:

    $ git branch -D master
    
  • newmaster
    分支重命名为
    master

    $ git branch -m master
    
  • 强制推送到远程存储库:

    $ git clone git@github.com:yourusername/yourrepo.git
    
    $ git push -f origin master
    

现在您的Github存储库为空。

您可以创建新的git目录。 添加github remote并使用镜像选项推送它

git远程添加https://...

git推送原点--镜像


这将从远程删除所有内容,包括标记和分支

您可以创建新的git目录。 添加github remote并使用镜像选项推送它

git远程添加https://...

git推送原点--镜像


这将从您的遥控器中删除所有内容,包括标签和分支

您可以删除该回购并重新创建它吗?是的,只需转到存储库设置,删除它,然后使用相同的名称重新创建它。不幸的是,我没有权限在我的私人回购中执行此操作。因此,我必须了解如何使这成为一个简单的报告所有github存储库都是简单的。我不认为“裸体”这个词的意思是你认为它的意思。。。(我相信你只是想清空repo,或者强制推送一个替换提交。)让我详细说明一下,我想删除推送到github repo的整个源代码(所有分支、标记、提交等),而不删除repo本身。你能删除该repo并重新创建它吗?是的,只需到存储库设置,删除它,并用相同的名称再次创建。不幸的是,我没有权限在私人回购的情况下这样做。因此,我必须了解如何使这成为一个简单的报告所有github存储库都是简单的。我不认为“裸体”这个词的意思是你认为它的意思。。。(我相信您只是想清空repo,或者强制推送替换提交。)让我详细说明一下,我想删除推送到github repo的整个源代码(所有分支、标记、提交等),而不删除repo本身。