Согласно руководству по Git, вы можете создать ветку, используя следующий синтаксис. Он создает новый заголовок ветви с именем <branchname>
, который указывает на текущий заголовок, или <start-point>
, если задан:
git branch [--track | --no-track] [-l] [-f] <branchname> [<start-point>]
Таким образом, вы можете создать локальную ветку "topic" , следуя аналогичному синтаксису в JGit (см. Следующий кодовый блок). В этом случае вы не настроили начальную точку явно. JGit будет использовать HEAD в качестве начальной точки. Так что все отлично работает:
git.branchCreate().setName("topic").call();
Однако, если вы создаете локальную ветвь с начальной точкой origin/topic
, JGit попытается найти эту ссылку в Git References . В этом контексте origin
- это имя удаленного устройства, а topic
- это имя ветви. Если не найдено, возникает исключение:
git.branchCreate().setName("topic").setStartPoint("origin/topic").call();
Вы также должны знать, что:
setForce(true)
сбросит целевое имя ветви до начальной точки, если имя ветви уже существует. Без -f,--force
git branch отказывается изменять существующую ветку.