@RA
RA
28 Mar 2017

нубский вопрос. Можно ли править файлы, пока гит комитится? Не попадут ли правки в комитящийся комит?

28 Mar 2017

спасибо. Но как он определяет, что это новые правки?

#ozzqd/2 в ответ на /1
28 Mar 2017

Собственно, пока ты просто правишь файлы, гиту вообще насрать. Максимум, что он может — показать, что ты их правил, если ты запустишь git status.
Пока ты не сделаешь git add эти изменения не учитываются вообще никак и нигде. После того, как ты делаешь git add, они попадают в кеш нового коммита и ты можешь их закоммитить, например. В этом состоянии гит будет знать, что у тебя есть изменённые файлы и будет бить тебя по рукам, если ты попытаешься что-нибудь сделать, не создав коммита, или не переложив их в stash.

Проблема можешь быть если ты правишь файлы во время pull'а — гит может попробовать что-то затереть во время чекаута или нарваться на конфликт, отчитаться об ошибке и упасть.

#ozzqd/3 в ответ на /2
28 Mar 2017

Если ты только недавно пришёл с какого-нибудь svn'а, то рекомендую почитать хотя бы basics с https://git-scm.com/book/ просто для понимания концептов.
Первое время оно может довольно сильно ранить неподготовленный мозг :)

#ozzqd/4 в ответ на /3
28 Mar 2017

По-моему ты немного не понял.
Суть такова. Всё добавлено через git_add. Правлю 1000 файлов. Делаю git commit. И пока оно делает коммит (допустим делает долго), я правлю ещё 1001й файл. Вопрос попадёт ли 1001й файл в комитящийся в данный момент комит? Я думаю что да попадёт.

#ozzqd/5 в ответ на /3
28 Mar 2017

У меня не ранило. Но я на тот момент совсем как макака и svn и git юзал.

#ozzqd/6 в ответ на /4
28 Mar 2017

Если ты не сделаешь add новым изменениям — нет, не попадёт.
А ты на чём там работаешь, что у тебя commit заметное время занимает?

#ozzqd/8 в ответ на /5
28 Mar 2017

комит заметное время занимает когда комичу мердж после правок конфликтов.

#ozzqd/9 в ответ на /8
28 Mar 2017

1001й файл он тоже раньше был добавлен через add

#ozzqd/10 в ответ на /7
28 Mar 2017

добавлено было предыдущее состояние. Новый git add сделает новый git object

#ozzqd/11 в ответ на /10
28 Mar 2017

Ну смотри, простым языком.
Когда ты делаешь git add, git создаёт "слепок" изменений и хранит его до коммита. При этом ему насрать, правишь ты файлы или нет - он не следит. Например, поэтому в гите можно разделить изменения в одном файле на два коммита, внеся в "слепок" для первого лишь часть изменений. Git - это про изменения, а не про файлы.
Другая ситуация - если у тебя шибко умная IDE, которая сразу при изменении файла делает ему git add. Тогда хз чего ожидать. Но я подозреваю, что это всё равно должен быть отдельный "слепок" и в уже совершающийся коммит оно попасть не должно.

#ozzqd/13 в ответ на /9
28 Mar 2017

спасибо, теперь всё прояснилось

#ozzqd/14 в ответ на /13
28 Mar 2017

Другая ситуация - если у тебя шибко умная IDE

Ненавижу такие умные ide -_-

#ozzqd/19 в ответ на /13
28 Mar 2017

Я вот смирился с PhpStorm, т.к., всё же много профитов даёт различного плана. Без него больше ебли было бы. А вообще надо, кстати, поискать будет в настройках - может, там выключается автоматическое добавление изменений.
В общем-то, откровенно говоря, оно гораздо чаще упрощает жизнь. Но иногда не мешало бы его вырубать и коммитить частично.

#ozzqd/21 в ответ на /19

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.