BitBucket выдвигает, чтобы показать модель ветви - PullRequest
0 голосов
/ 02 мая 2018

Я создал новую ветку на сервере bitbucket (частный хостинг). У Bitbucket есть несколько типов веток, таких как «исправления», «функции» и т. Д. Я создал один из них, используя модель ветвей «feature». Название ветки в списке ветвей стало «feature / mybranchname». Я делаю обычные git fetch, git checkout -b mybranchname origin/feature/mybranchname и начинаю работать.

Но проблема в том, что любые новые изменения, которые я внес в ветку "mybranchname", не могут быть перенесены на удаленный компьютер. Всякий раз, когда git push выполняется, только master будет обновляться, даже если в состоянии git указано, что X фиксирует перед "origin / feature / mybranchname".

git push -u origin mybranchname создаст новую ветку на сервере без имени «feature», поэтому он дублируется в новую ветку.

git push feature/mybranchname вернет следующее.

fatal: 'feature/mybranchname' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

`` `

Найден этот аналогичный вопрос, но без какого-либо решения. Нашел эту документацию от atlassian с указанием, что такое модель ветвления и тому подобное, но без какого-либо упоминания о том, как их подтолкнуть.

Ожидаемый результат: локальные коммиты из «mybranchname» передаются в «feature / mybranchname» пульта без слияния из веб-интерфейса.

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

Я думаю, вы можете использовать git checkout feature/mybranchname

И создайте новую ветку с git checkout -b mybranchname

А git push -u origin mybranchname

0 голосов
/ 02 мая 2018

Необходимо указать удаленное репо:

gut push -u origin feature/mybranchname

Тогда ваш локальный feature/mybranchname будет связан с его удаленным аналогом отслеживания origin/feature/mybranchname, и тогда будет достаточно простого git push.

ОП добавляет:

Я создал новую ветку, используя git checkout -b mybranchname feature/mybranchname, но вместо этого она должна быть просто git checkout feature/mybranchname

Да, потому что на справочной странице git checkout упоминается :

git checkout <branch>

Если <branch> не найден, но существует ветвь отслеживания ровно в одном удаленном (вызовите его) с совпадающим именем, трактуйте как

git checkout -b <branch> --track <remote>/<branch>

Обратите внимание, что в этом случае вам не нужно git push -u origin feature/mybranchname: опять достаточно простого git push, поскольку локальная ветвь уже связана с веткой удаленного отслеживания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...