Задать вопрос
@Alex_87

Как удалить коммит в git?

Здравствуйте! Только начинаю изучать git поэтому немного запутался, подскажите пожалуйста по нескольким вопросам...
1) Когда прописываешь комманду git commit -m "Сообщение", то это заносится только в локальный репозитории, или сразу кидается на удалённый, в github? Просто не знаю как удалять коммиты, поэтому спрашиваю до эксперимента) Отсюда и второй вопрос....
2) Как удалять не нужные коммиты и с локального и с удалённого репозитория?
3) Какие файлы вообще добавлять в репозитории? Допустим, что у меня есть такие файлы, как gulpfile.js, package.json Мне их нужно один раз в коммит добавить, а в следующие добавлять только те файлы, что меняются? Эти будут автоматически браться с первого коммита?
P.S. И если представить ситуацию, когда локальные коммиты сделаны. Удалённо ничего не поставленно... просмотреть коммиты и удалить локальный коммит на выбор, возможно?
  • Вопрос задан
  • 11669 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • ProductStar
    Python + Flask + Git: веб-разработка с нуля
    2 месяца
    Далее
  • Учебный центр IBS
    DEV-007 Введение в систему контроля версий Git
    1 неделя
    Далее
  • Stepik
    Git (система контроля версий)
    1 неделя
    Далее
Решения вопроса 2
piatachki
@piatachki
Сам не великий специалист, но вижу ответ вот каким:

1. Есть две команды - commit и push. Первая добавляет коммит в локальный checkout (не знаю, как это верно в русской терминологии называется). Вторая отправляет корзину коммитов в удаленный репозиторий

2. Коммиты не удаляются, но зато их можно откатить - отрастить ветку от любого прошлого коммита. Называется операция не (как справедливо замечают в комментарии к ответу) pick cherry, а как-то по другому.

3. Общее правило хорошего тона, как я понял, такое - отправлять в репозиторий только изменяющиеся файлы. То есть, например, код, но не сторонние библиотеки. По поводу конкретной сегментации изменяемых файлов - git-клиенты сам определяет, какие файлы менялись в рамках коммита и синхронизирует их выборочно.
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега Git
software engineer
git commit - это в локальный
git push - уже готовые коммиты кидаешь в удаленный

коммиты не удаляются, можно просто твой бренч откатить на последний хороший коммит и дальше коммитить уже новые правильные коммиты. Потерявшиеся (headless) коммиты могут удалиться автоматом, сборщиком мусора. ОБычно через месяц.

В коммит добавляешь то, что изменилось с прошлого коммита. Чаще пользуйся git status
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
Made In Dream Санкт-Петербург
от 100 000 до 220 000 ₽
от 250 000 до 320 000 ₽