Есть ли способ объединить мою текущую ветку разработки в промежуточную? - PullRequest
0 голосов
/ 04 апреля 2019

У меня установлен git на машине, но я продолжаю получать сообщение об ошибке ниже, когда пытаюсь запустить «git fetch origin / staging» в сценарии оболочки:

git fetch origin/staging
fatal: 'origin/staging' 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.
script returned exit code 128

Мои следующие команды оболочки будут

git checkout origin/staging
git merge dev

Ответы [ 3 ]

2 голосов
/ 04 апреля 2019

git fetch не ожидает <branch> в качестве первого параметра, а <remote> вместо этого, поэтому вы можете просто

git fetch origin

(подробнее см. doc )

Тем не менее, вы можете извлекать данные специально для ветки на удаленном компьютере, но вам придется явно указывать на удаленном, иначе ваша ветка будет считаться самой удаленной:

git fetch origin staging

(обратите внимание, что здесь мы использовали имя самой ветви, а не origin/staging, имя ветви удаленного отслеживания, которая отслеживает ее в вашем хранилище)

2 голосов
/ 04 апреля 2019

Роковое: 'origin / staging' не похоже на git-репозиторий

Обратите внимание, что origin/staging относится к удаленной ветви отслеживания. Сообщение об ошибке говорит вам, что git fetch требует имя удаленного. Так что попробуйте

git fetch origin

Тогда вы должны сделать

git checkout staging

, который создает новую локальную ветвь с именем staging, которая указывает на тот же коммит, что и удаленная ветвь отслеживания origin/staging. Тогда вы можете сделать

git merge dev

так же, как у вас.

0 голосов
/ 05 апреля 2019

Это сделал трюк!Первый шаг проверяет промежуточную ветвь.Второй шаг объединяет dev для постановки.И последний шаг подталкивает постановку к началу.

stage('Merge') {
      steps {
        git branch: 'staging', credentialsId: 'a-long-id', url: 'https://test@bitbucket.org/project/myrepo.git'
        sh 'git merge dev'
        sh 'git push origin staging'
      }
}
...