2012-11-13 3 views
2

Я просто любопытно, потому что я заметил, что некоторые Хранилища имеют свои филиалы установки, как это:Как создать ветку под другой веткой в ​​git?

git branch -a 

master 
remotes/origin/branch1 
remotes/origin/branch2/lala 
remotes/origin/branch2/yay 
remotes/origin/branch3 
remotes/origin/branch4 

Я просто любопытно, как они делают ветви lala и yay под branch2; или это не ветка?

Любое понимание?

ответ

7

branch2/lala и branch2/yay ветви на самом деле не находятся под «веткой» по имени branch2. Каждый из них является обычной ветвью, имена которой содержат /.

:; cd /tmp 
:; mkdir gittest 
:; cd gittest 
:; mkdir origin 
:; cd origin 
:; git init 
Initialized empty Git repository in /private/tmp/gittest/origin/.git/ 
:; touch somefile 
:; git add somefile 
:; git commit -m 'initial commit' 
[master (root-commit) 4d62ed7] initial commit 
0 files changed 
create mode 100644 somefile 
:; git branch branch1 
:; git branch branch2/lala 
:; git branch branch2/yay 
:; git branch branch3 
:; git branch branch4 
:; git branch -a 
    branch1 
    branch2/lala 
    branch2/yay 
    branch3 
    branch4 
* master 

:; cd .. 
:; git clone origin local 
Cloning into 'local'... 
done. 
:; cd local 
:; git branch -a 
* master 
    remotes/origin/HEAD -> origin/master 
    remotes/origin/branch1 
    remotes/origin/branch2/lala 
    remotes/origin/branch2/yay 
    remotes/origin/branch3 
    remotes/origin/branch4 
    remotes/origin/master 
+3

Это имеет смысл - спасибо. Я думаю, что причина, по которой я был смущен, заключалась в том, что я получал ошибку: 'error: невозможно создать каталог для .git/refs/heads/branch1/lala fatal: Не удалось заблокировать ref для обновления: нет такого файла или каталога' , Я понял, что получаю эту ошибку, потому что 'branch1' уже существует, и мне не нравится создание другого с добавлением'/lala'. – xil3

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