我有私人github回购。我错误地推错了源代码。我可以将这个repo设置为像裸仓库一样创建吗? 仅仅为了实验,我创建了公共github repo https://github.com/shabbirlimdiwala/shabbir_test_repo.git
我按照以下步骤将此回购设备作为一个裸仓库,
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
这些步骤如何使repo成为一个简单的回购?
答案 0 :(得分:0)
"裸露"并不意味着你认为它意味着什么。 A"裸露"存储库是指没有关联工作目录的Git存储库(也就是说,它是您运行git init --bare ...
时获得的)。
从您的评论中听起来好像您只想从存储库中删除现有的存储库历史记录。简单地删除和重新创建GitHub存储库会简单得多,但如果由于某种原因不可能,那么跟随应该做你想做的事情:
克隆远程存储库:
$ git clone git@github.com:yourusername/yourrepo.git
删除所有远程标记:
$ cd yourrepo
$ git ls-remote --tags origin | awk '!/\^\{}/ {printf ":%s\n", $2}' | xargs git push origin
删除所有远程分支(master
分支除外):
$ git ls-remote --heads 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 push -f origin master
现在你的Github存储库是空的。
答案 1 :(得分:0)
您可以创建新的git目录。 添加你的github遥控器并用镜像选项推动它。
git remote add https:// ...
git push origin --mirror
这将从您的遥控器中删除所有内容,包括标签和分支