Git: Что произойдет, если вы не сделаете коммит до закрытия? - PullRequest
0 голосов
/ 26 мая 2018

Я удивлен, что не смог найти более подробного объяснения природы постановки / коммитов, поэтому я спрашиваю себя.Я новичок в GitHub (и у меня нет Bash, загруженного на этот компьютер, поэтому я бы предпочел, чтобы люди отвечали).

В частности, скажем, вы работаете в каталоге проекта с GitBash.Вы вносите некоторые базовые изменения и сохраняете.Без постановки или фиксации чего-либо, вы закрываете все свои приложения.Что происходит с изменениями, которые вы сделали?Они стираются или изменения остаются?Я предполагаю, что тот же самый вопрос применим, если вы передали свои вещи, но затем вышли из игры.

Хранятся ли коммиты в папке где-нибудь?Является ли «промежуточная область» временным Bash или для этого тоже есть физическая папка?

Вам нужно было бы повторно фиксировать изменения, если вы выходите из системы?

Спасибо за помощь.

1 Ответ

0 голосов
/ 26 мая 2018

Прежде всего обратите внимание, что GitHub - это просто один из нескольких онлайн-сервисов для хранения файлов, которые управляются версиями с Git .Git - это программа, которая на самом деле отслеживает изменения и версии ваших файлов, и, не вдаваясь слишком глубоко во внутренности, просто отслеживает разные версии файла.

Когда вы вносите изменение в файл, это изменение сохраняется, как если бы файл не контролировался версией.Когда вы закрываете приложение, ваши изменения остаются, как если бы git отсутствовал.Фиксация ваших изменений просто сохраняет своего рода «контрольную точку» для самого себя.Это позволяет вам вернуть ваши изменения в предыдущий коммит, сравнить разные версии и т. Д. Ваши коммиты также сохраняются, если вы выходите из приложений.

По сути, да, коммиты хранятся где-то в папке, однако git достаточно умен, чтобы не хранить множество копий ваших файлов в разные моменты времени, а скорее сохраняет как можно меньше информации, сохраняя при этом запись.из того, что было изменено.Промежуточная область - это просто место, чтобы решить, какие файлы вы хотите отслеживать.Когда вы переходите к фиксации файлов, только те, которые были добавлены в область подготовки, фиксируются в git.Остальные все еще сохраняют свои изменения как обычно, но поскольку вы не сказали git заботиться о них, они игнорируются.Это можно увидеть, изменив некоторые файлы, добавив только некоторые из них в область подготовки с помощью git add, а затем вызвав git status, что сообщит вам, что некоторые файлы были подготовлены для принятия, в то время как другие «изменены» или"не отслеживается", но не будет совершено.

Если вы действительно хотите покопаться, попробуйте открыть скрытую папку git в вашем хранилище (с префиксом . в Mac / Linux), чтобы увидеть, как git хранит сделанные вами изменения..

...