28 Mar
2017
нубский вопрос. Можно ли править файлы, пока гит комитится? Не попадут ли правки в комитящийся комит?
нубский вопрос. Можно ли править файлы, пока гит комитится? Не попадут ли правки в комитящийся комит?
Нет, не попадут.
Моя твоя не понимать.
Соболезную :)
спасибо. Но как он определяет, что это новые правки?
Собственно, пока ты просто правишь файлы, гиту вообще насрать. Максимум, что он может — показать, что ты их правил, если ты запустишь git status.
Пока ты не сделаешь git add эти изменения не учитываются вообще никак и нигде. После того, как ты делаешь git add, они попадают в кеш нового коммита и ты можешь их закоммитить, например. В этом состоянии гит будет знать, что у тебя есть изменённые файлы и будет бить тебя по рукам, если ты попытаешься что-нибудь сделать, не создав коммита, или не переложив их в stash.
Проблема можешь быть если ты правишь файлы во время pull'а — гит может попробовать что-то затереть во время чекаута или нарваться на конфликт, отчитаться об ошибке и упасть.
Если ты только недавно пришёл с какого-нибудь svn'а, то рекомендую почитать хотя бы basics с https://git-scm.com/book/ просто для понимания концептов.
Первое время оно может довольно сильно ранить неподготовленный мозг :)
У меня не ранило. Но я на тот момент совсем как макака и svn и git юзал.
По-моему ты немного не понял.
Суть такова. Всё добавлено через git_add. Правлю 1000 файлов. Делаю git commit. И пока оно делает коммит (допустим делает долго), я правлю ещё 1001й файл. Вопрос попадёт ли 1001й файл в комитящийся в данный момент комит? Я думаю что да попадёт.
Нет, с чего бы?
1001й файл он тоже раньше был добавлен через add
добавлено было предыдущее состояние. Новый git add сделает новый git object
Если ты не сделаешь add новым изменениям — нет, не попадёт.
А ты на чём там работаешь, что у тебя commit заметное время занимает?
комит заметное время занимает когда комичу мердж после правок конфликтов.
Ну смотри, простым языком.
Когда ты делаешь
git add
, git создаёт "слепок" изменений и хранит его до коммита. При этом ему насрать, правишь ты файлы или нет - он не следит. Например, поэтому в гите можно разделить изменения в одном файле на два коммита, внеся в "слепок" для первого лишь часть изменений. Git - это про изменения, а не про файлы.Другая ситуация - если у тебя шибко умная IDE, которая сразу при изменении файла делает ему git add. Тогда хз чего ожидать. Но я подозреваю, что это всё равно должен быть отдельный "слепок" и в уже совершающийся коммит оно попасть не должно.
спасибо, теперь всё прояснилось
Беглый гуглинг показал вот такой постик про стейдж:
http://alblue.bandlem.com/2...rstanding-index.html
Наискосок глянул - кажется, оно. Попробуй глянуть.
Ненавижу такие умные ide -_-
Я вот смирился с PhpStorm, т.к., всё же много профитов даёт различного плана. Без него больше ебли было бы. А вообще надо, кстати, поискать будет в настройках - может, там выключается автоматическое добавление изменений.
В общем-то, откровенно говоря, оно гораздо чаще упрощает жизнь. Но иногда не мешало бы его вырубать и коммитить частично.