powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Управление процессом разработки ИС [игнор отключен] [закрыт для гостей] / Вопрос новичка: как удалить коммит в системе git
15 сообщений из 15, страница 1 из 1
Вопрос новичка: как удалить коммит в системе git
    #40015201
Vasiliy_Kashkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно вопрос - возможно ли (и как) удалить в системе git некоторый коммит без возможности его восстановления?
...
Рейтинг: 0 / 0
Вопрос новичка: как удалить коммит в системе git
    #40015209
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если коммит крайний, то "git reset HEAD~1 --hard", если какой-то более ранний, то, например тут можно прочитать: https://linuxhint.com/how-to-squash-git-commits/, или гугли "git squash"
...
Рейтинг: 0 / 0
Вопрос новичка: как удалить коммит в системе git
    #40015377
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vasiliy_Kashkin,

Если где-то в середине, то нет, нельзя удалить коммит.
Можно сделать перезапись истории, чтобы исключить лишний коммит, но это крайне неприятная операция.

Если не запушил, можно откатиться до коммита, который находится перед ненужным коммитом и перекомитить.
...
Рейтинг: 0 / 0
Вопрос новичка: как удалить коммит в системе git
    #40015379
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Если не запушил, можно откатиться до коммита, который находится перед ненужным коммитом и перекомитить.

Если даже и запушил, но это твоя личная ветка, то можно пушнуть с ключом --force (-f) - оно перетрет ветку на ориджине (или там куда ты пушишь). С общими ветками такое делать не стоит, конечно.

hVostt
Можно сделать перезапись истории, чтобы исключить лишний коммит, но это крайне неприятная операция.

Ну, тоже, если ты работаешь на своей собственной ветке, то ничего страшного.
...
Рейтинг: 0 / 0
Вопрос новичка: как удалить коммит в системе git
    #40015380
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
hVostt
Если не запушил, можно откатиться до коммита, который находится перед ненужным коммитом и перекомитить.

Если даже и запушил, но это твоя личная ветка, то можно пушнуть с ключом --force (-f) - оно перетрет ветку на ориджине (или там куда ты пушишь). С общими ветками такое делать не стоит, конечно.


Ну а вдруг там пароль от БД с персухой. И тебе может грозить срок, если данные сольют? :)
История всё равно останется, ты не ветку перетрёшь, а всего лишь указатели.

fkthat
Ну, тоже, если ты работаешь на своей собственной ветке, то ничего страшного.


Я к тому, что именно удалить не получится.
Всё остальное это обходные манёвры, чтобы выглядело так, как будто удалил.
...
Рейтинг: 0 / 0
Вопрос новичка: как удалить коммит в системе git
    #40015403
Vasiliy_Kashkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,

кажется это не удалит коммит, его можно будет вернуть командой git reset --hard ORIG_HEAD
...
Рейтинг: 0 / 0
Вопрос новичка: как удалить коммит в системе git
    #40015449
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vasiliy_Kashkin
fkthat,

кажется это не удалит коммит, его можно будет вернуть командой git reset --hard ORIG_HEAD

Естественно, оно удалит его только локально. Потом пушнешь на сервер с флагом --force и оно прибьет его и на сервере, как-то так.
...
Рейтинг: 0 / 0
Вопрос новичка: как удалить коммит в системе git
    #40015572
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, оно просто переместит HEAD метку. Придётся ещё сильно поплясать с переписыванием истории, индексов и сборкой мсора чтобы реально удалить блобы этого коммита.
...
Рейтинг: 0 / 0
Вопрос новичка: как удалить коммит в системе git
    #40015685
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
и оно прибьет его и на сервере, как-то так


Не :)
...
Рейтинг: 0 / 0
Вопрос новичка: как удалить коммит в системе git
    #40015707
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
fkthat
и оно прибьет его и на сервере, как-то так


Не :)

Только что даже проверил специално - прибило намертво.

Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
$ echo hello > foo.txt
$ git add . && git commit -m 'Commit for fun' && git push
$ git reset HEAD~1 --hard
$ git status

On branch master 
Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
     (use "git pull" to update your local branch)

nothing to commit, working tree clean

$ git push --force
$ git status

On branch master
Your branch is up to date with 'origin/master'.                                                                                                                                                                                                                                                             

nothing to commit, working tree clean
...
Рейтинг: 0 / 0
Вопрос новичка: как удалить коммит в системе git
    #40015846
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,

но коммит-то остался, просто без именованной головы
и найти его при желании не сложно
...
Рейтинг: 0 / 0
Вопрос новичка: как удалить коммит в системе git
    #40015868
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Только что даже проверил специално - прибило намертво.


Закоммитьте гигабайтный файл, а потом попробуйте его удалить.

PS: несколько лет назад уменьшали размер репозитория, удаляя старый объёмный мусор.
Смогли, но долго, больно и уже точно не помню как :)
...
Рейтинг: 0 / 0
Вопрос новичка: как удалить коммит в системе git
    #40015910
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
fkthat,

но коммит-то остался, просто без именованной головы
и найти его при желании не сложно

Наверное, только если хеш на бумажке записать :))
...
Рейтинг: 0 / 0
Вопрос новичка: как удалить коммит в системе git
    #40015914
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Tomin
Закоммитьте гигабайтный файл, а потом попробуйте его удалить.

Это да. Но гит он ведь, тоже, не для того, чтобы там 4К-видео хранить :)) Мне главное, только, что какой-нибудь мой говнокоммит ушел из хистори, никто его не увидит, и лицом в толчок меня за него не обмакнет
...
Рейтинг: 0 / 0
Вопрос новичка: как удалить коммит в системе git
    #40015944
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Это да. Но гит он ведь, тоже, не для того, чтобы там 4К-видео хранить :)) Мне главное, только, что какой-нибудь мой говнокоммит ушел из хистори, никто его не увидит, и лицом в толчок меня за него не обмакнет


в целом да, кто будет ковыряться в бесхозных безымянных ветках?...
никто, кроме может самых упоротых безопасников )))
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Управление процессом разработки ИС [игнор отключен] [закрыт для гостей] / Вопрос новичка: как удалить коммит в системе git
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (2): Анонимы (2)
Пользователи онлайн (9): Анонимы (6), Bing Bot 1 мин., Yandex Bot 3 мин., CerebroSQL 3 мин.
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]