GIT - ветки, что такое ветка?

Я новичок в ГИТ. Я хочу создать новую ветку: у меня есть 3 файла в этом репозитории.

Если я создам новую ветку, нужно ли копировать эти файлы; Или они копируются автоматически, если я создаю новую ветку?

Когда я хочу работать с веткой, нужно ли мне переключаться на эту ветку внутри GIT, прежде чем я начну работать (открывая эти файлы)? Большое спасибо за Вашу помощь


person lars111    schedule 21.01.2016    source источник
comment
Git делает все изменения файловой системы за вас.   -  person alex    schedule 21.01.2016
comment
Пожалуйста, погуглите такие простые хорошо документированные вопросы. SOF не предназначен для покрытия таких вещей   -  person Pmpr    schedule 21.01.2016


Ответы (1)


Я хочу создать новую ветку

# checkout new branch based upon the current branch 
git checkout -b <new branch name>

Если я создам новую ветку, нужно ли копировать эти файлы; Или они копируются автоматически, если я создаю новую ветку?

Новая ветка является ПОЛНОЙ копией текущей ветки.
Чтобы понять, зачем вам нужно знать, что такое ветка в git.


Что такое ветка в GIT?

Ветка в Git — это просто облегченный перемещаемый указатель для фиксации.
Вот очень короткий и простой пост об этом

Другими словами:

Ветвь в git — это просто указатель на коммит.
Как вы можете видеть на изображении ниже (взято из поста, упомянутого выше), все ветки указывают на коммит B + добавленная к ним дельта.

Когда вы создаете ветку, git создает файл и записывает идентификатор коммита в этот файл.

введите здесь описание изображения

Когда я хочу работать с веткой, нужно ли мне переключаться на эту ветку внутри GIT, прежде чем я начну работать (открывая эти файлы)?

Вот что делает checkout -b — переключает вас на новую ветку введите здесь описание изображения

person CodeWizard    schedule 21.01.2016