删除GitHub回购协议';s维基
我是GitHub的新手。当我点击删除GitHub回购协议';s维基,github,Github,我是GitHub的新手。当我点击Wiki链接时,为我的回购创建了一个新的Wiki。但我真的不需要它。如果我试图删除它的唯一页面,GitHub会问:“您确定要删除此页面吗?”。我确认这一点。什么也没发生,页面还在那里。我不能说这太烦人了,但我想知道是否有办法删除Wiki。单击项目GitHub页面上的设置按钮,然后取消选中Wiki 它应该消失。首先,发现您的回购协议的URL: $ cd your-project $ git remote -v origin git@github.com:belde
Wiki
链接时,为我的回购创建了一个新的Wiki。但我真的不需要它。如果我试图删除它的唯一页面,GitHub会问:“您确定要删除此页面吗?”。我确认这一点。什么也没发生,页面还在那里。我不能说这太烦人了,但我想知道是否有办法删除Wiki。单击项目GitHub页面上的设置按钮,然后取消选中Wiki
它应该消失。首先,发现您的回购协议的URL:
$ cd your-project
$ git remote -v
origin git@github.com:belden/foo.git (fetch)
origin git@github.com:belden/foo.git (push)
克隆你的维基;其URL是项目的URL,以“wiki.git”结尾:
$ cd /tmp
$ git clone git@github.com:belden/foo.wiki.git foo-wiki
Cloning into 'foo-wiki'...
remote: Counting objects: 375, done.
remote: Compressing objects: 100% (159/159), done.
remote: Total 375 (delta 214), reused 375 (delta 214)
Receiving objects: 100% (375/375), 78.41 KiB, done.
Resolving deltas: 100% (214/214), done.
现在,只需将其视为要从中删除文件的普通项目:
$ cd foo-wiki
$ git rm *.md
$ git commit -am "remove wiki pages"
$ git push
您就完成了。缺少的部分将一如既往地打开。与通常的git
-fu相结合,您可以擦除GitHub repo上的所有数据,例如销毁wiki帐户/repo.wiki.git
:
git clone git@github.com:ACCOUNT/REPO.wiki.git
cd REPO.wiki
git checkout --orphan empty
git rm --cached -r .
git commit --allow-empty -m 'wiki deleted'
git push origin empty:master --force
警告!这个方法允许真正销毁GitHub上的所有数据(在任何回购协议上),但可能仍缓存在某处的数据除外。我的测试表明
git clone --mirror git@github.com:ACCOUNT/REPO.wiki.git
以后无法带回任何旧数据的跟踪。顺便说一句,学习理解上述内容是学习git的一个很好的练习 我找到的最简单的方法是:
git clone git@github.com:$USER/$REPO.wiki
cd $USER/$REPO.wiki
git push origin --delete master
然后从“设置”->“功能”中取消选中“Wikis”。GitHub在界面方面非常完美,所以这样的事情不会太复杂。它现在在“设置”->“选项”->“功能”下。实际上,这只会使Wiki不可见。它实际上并没有删除它。如果您回到管理页面并单击那里的wiki复选框,内容将再次可见@fnkr是正确的。事实上,如果你已经在某处查看了你的维基,你仍然可以推到它!如果你能猜到raw.githubusercontent.com的url,你也可以访问一些非降价文件……它会消失,但不会删除它。它只是将其作为一个菜单选项删除。这将保留完整的历史记录,这样,如果您愿意,您可以带回Wiki的旧内容(请参见
git log
)。如果您希望历史也被删除,请参阅我的变体。(git
不允许您在没有git push--force
的情况下终止历史记录,因此如果您离开--force
您在这方面是安全的)请注意,您可能需要删除除master
之外的所有其他分支和标记。还请注意,您可以在设置中保护GitHub上的分支。这样一个受保护的分支拒绝使用--force
推送某些内容。因此,一定要取消对有问题的分支的保护。请参阅:这应该被认为是公认的答案。可惜来得这么晚。