2016-12-06 2 views
3

Должен ли я помещать master и другие branch в отдельные папки?Git - Держите `Master` и` branch` в той же папке

Например, у меня есть папка с именем myF/. И я клонировал проект под названием whatever. И whatever состоит из двух файлов - a.txt, b.txt.

cd myF 
git clone whatever 

Затем я создаю ветку под названием feature0.

git branch feature0 

Теперь, если я что-то изменить к a.txt или b.txt, это изменит как master и feature0.

Должен ли я держать master нетронутым? И только изменить файлы в feature0?

+2

Вы использовали SVN? Git работает не так. У него только одна копия файлов на диске. Когда вы переключаете ветви, это изменяет существующую структуру каталогов на структуру ветки, в которой вы сейчас находитесь. – adrianbanks

+0

@adrianbanks Я вижу. Благодарю. – Kevin217

+0

Я думаю, вы должны посмотреть, как работают git и ветви. Вот хороший обзор: https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-nutshell – cmrn

ответ

2

Теперь, если я что-то изменить к a.txt или b.txt, это изменит как master и feature0.

Нет, это не будет: он будет добавлен и совершенные в текущей ветви (feature0)

x (master) 
\ 
    y (feature0) 

Вообще, вы держите одно рабочее дерево (одна папка) для всех ветвей и вы переключите содержание указанного рабочего дерева.

Но так как Git 2.5, вы действительно можете иметь отдельные рабочих деревьев (по одному на отделение) для один клонированных репо: см git worktree что я mention here и с большим количеством деталей, в this answer.

Смежные вопросы