2016-10-19 4 views
1

У меня есть частный github repo. По ошибке я нажал неправильный исходный код. Могу ли я сделать это репо таким же, как оно было создано как голый репо? Просто для эксперимента я создал общественный GitHub репо https://github.com/shabbirlimdiwala/shabbir_test_repo.gitКак сделать существующий github repo bare 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 

Как эти шаги сделаны репо голой репо?

+2

вы можете просто удалить этот репозиторий и создать его снова? –

+0

Да, только для настроек репозитория, удалите его и создайте снова с тем же именем. –

+0

К сожалению, у меня нет разрешения на это в случае моего личного репо. Таким образом, я должен кое-как сделать это голой репо. – user1748951

ответ

0

Слово «голый» не означает, что вы думаете, что это значит. «Голый» репозиторий относится к репозиторию Git без связанного рабочего каталога (то есть, это то, что вы получаете при запуске git init --bare ...).

Это звучит из ваших комментариев, как будто вы просто хотите удалить существующую историю репозитория из своего репозитория. Было бы гораздо проще просто удалить и заново создать хранилище GitHub, но если по каким-то причинам это невозможно, то последующие должны делать то, что вы хотите:

  • клонировать удаленный репозиторий:

    $ git clone [email protected]: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 
    
  • Force в удаленном хранилище:

    $ git push -f origin master 
    

Теперь ваш репозиторий Github пуст.

0

Вы можете создать новую директорию git. Добавьте пульт дистанционного управления github и нажмите его с опцией зеркала.

git remote add https: // ...

мерзавец толчок происхождение --mirror

Это удалит все от пульта дистанционного управления, включая тег и филиалы

Смежные вопросы