У меня есть большой проект, над которым я работаю, который использует git как VCS. В любой момент я работаю над внедрением нескольких функций/исправлений и т.д. Для любой данной функции/ошибки было бы неплохо создать иерархию ветвей - например,
$ git branch
feature1
sub-branch1
sub-branch2
sub-branch3
feature2
sub-brancha
*sub-branchb #<--currently checked out
sub-branchc
bugfix1
sub-branch-foo
$ git checkout sub-brancha
$ git branch
feature1
sub-branch1
sub-branch2
sub-branch3
feature2
*sub-brancha #<--currently checked out
sub-branchb
sub-branchc
bugfix1
sub-branch-foo
Можно ли сделать что-то подобное или мне нужно принять более примитивную схему именования?
EDIT
Чтобы сделать немного более конкретным то, что я ищу, если feature1 является ветвью git, то в приведенном выше примере суб-ветвь 1 была бы создана git checkout -b sub-branch1
из ветки feature1
который разветвлен от мастера). например:.
$ git checkout master
$ git checkout -b feature1
$ git checkout -b testing
$ git branch
master
feature1
*testing
$ git checkout master
$ git checkout -b feature2
$ git branch
master
feature1
testing
*feature2
Если ветвь git просто организует ветки, откуда они пришли (с небольшим дополнительным отступом), вероятно, достаточно хороша для моих целей... Хотя супер бонусные очки, если я могу:
$ git branch
feature1
testing
feature2
testing
bugfix1
sub-branch-foo
С каким-то способом управлять конфликтом имен между "feature1/testing" и "feature2/testing"