#git #bitbucket
Добрый день! На bitbucket удаляю репозиторий, в cmd выполняю: git reset --hard git remote rm Создаю на bitbucket новый репозиторий с тем же именем. git init git remote add origingit add README.md git add .gitignore git commit -m “init” git add . git commit -m “test tasks” git push -u origin --all и снова на bitbucket все старые коммиты. где ещё я что-то забыл удалить?
Ответы
Ответ 1
Как удалить историю коммитов в репозитории: Локально Как обнулить историю Git? Вопрос не совсем про это, но связанный: Если нужно удалить Git tracking (версионирование), правильно ли просто удалить папку .git/? На удалённом репозитории (например, Bitbucket, GitLab, GitHub и т.п.): Пересоздавать репозиторий в принципе необязательно. Если вы уже обнулили локальную историю, вы можете просто отправить её на удалённый репозиторий с ключом -f. git push -f origin Внимание, это нельзя делать, если репозиторием пользуется ещё кто-то кроме вас! (подробнее о том, почему так и что за это будет.) При этом будет заменено только содержимое ветки origin/master. Если на удалённом репозитории есть другие ветки, их можно удалить следующим образом (отдельно для каждой ветки с именем, например, branchname): git push origin :branchname Разумеется, если там много веток и/или тегов, то будет проще удалить и пересоздать весь репозиторий. Что произошло, почему остались старые коммиты Разберём последовательно все выполненные команды. git reset --hard Просто сбросили локальные изменения. git remote rm Не работает без ещё одного аргумента, вы просто не заметили ошибку. Но даже если делать так: git remote rm origin То удалится только запись в конфигурации локального репозитория о подключенном репозитории (remote) под именем origin. Дальше: git init Если эта команда выполняется в уже существующем репозитории, то она ничего не делает. Если вы хотите удалить историю изменений и начать версионирование с нуля, нужно было идти другим путём: Как обнулить историю Git? git remote add originПоскольку репозиторий под именем origin уже есть в локальной конфигурации, ничего не произойдёт. git add README.md git add .gitignore git commit -m “init” git add . git commit -m “test tasks” Просто добавили пару коммитов в локальный репозиторий. Если на каком-то шаге изменений не было (были добавлены/индексированы файлы, не содержащие изменений), то и коммита не было. git push -u origin --all И запушили полученный результат на репозиторий origin. Закономерно видим там всю ту же историю коммитов, которая есть у нас локально. Посмотреть на локальную можно, например, так: git log --oneline --graph --decorate --all
Комментариев нет:
Отправить комментарий