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

Git — объясните, пожалуйта, зачем придумали add? Почему нельзя было сразу делать commit (Без add)?

Я только начинаю изучать Git, поэтому не понимаю. Подскажите.
  • Вопрос задан
  • 1677 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
Decadal
@Decadal
потому что вы не всегда будете хотеть добавить все файлы, которые изменились. Часто нужно добавить некоторые.
Пример: вы просматривали какой-то файл, поставили там случайно пробел. При git status вывело 4 измененных файла, хотя вы уверены только в трех. Тогда вы добавляете три файла и свободно их коммитите, после чего разбираетесь с четвертым.
Особенно жизненно для хотфиксов, когда нет времени разбираться с чем-то, нужно просто залить один файл с фиксом.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
vt4a2h
@vt4a2h
Senior software engineer (C++/Qt/boost)
Почему бы просто не почитать документацию? Она даже на русском есть: https://git-scm.com/book/ru/v1/%D0%92%D0%B2%D0%B5%... . Сразу множество вопросов отпадёт. Ведь подобные вопросы зачастую от незнания истории и непонимания самой технологии.
Ответ написан
Комментировать
@zzzevaka
Почему нельзя? Можно. git commit -a.

Допустим вы одновременно исправили какой-то баг в коде и добавили новую иконку. Эти изменения вы хотите разнести по разным коммитам для ясности. Для этого вы можете отдельно добавить нужные файлы для разных коммитво
Ответ написан
xtala
@xtala
Постигает Дзен
Коммит это запись изменений в репозиторий, т.е это действие которое изменяет историю проекта. А add это добавление файла (или его части) под версионный контроль раз, для включения файла или его части для записи в следующий коммит два (у этой команды несколько назначений, она универсальна). В репозитории может содержаться как контролируемые файлы (отслеживаемые ) так и не отслеживаемые (всякий мусор например). Для удобства записи коммитов можно использовать команду$ git commit -am "имя коммита" (где флаг "а" означает добавление всех ранее отслеживаемых файлов в коммит, а флаг "m" означает, что имя коммита указывается в строке ввода, а не внешнем редакторе, типа vim )Для того чтобы мусор не болтался под ногами и не всплывал в подсказках по неотслеживаемым файлам его перечисляют в файле .gitignore
Ответ написан
Комментировать
Maksclub
@Maksclub
maksfedorov.ru
Зачем указывать в поле адресата, кому отправлять электронное письмо?
Пусть после написания письмо всем уходит, кто есть в адресной книге...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы