Как справиться с & # 8220; отклонено & # 8221; на git push?

StackOverflow https://stackoverflow.com/questions/1641015

  •  08-07-2019
  •  | 
  •  

Вопрос

У меня есть мастер и бета ветка. Существует ситуация, когда push отклоняется:

edit2: Я нахожусь на главном филиале.

$ git push
Counting objects: 9, done.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 669.81 KiB, done.
Total 6 (delta 2), reused 0 (delta 0)
To git@github.com:foobar/codedemo.git
   a5fc71d..64430c1  master -> master
 ! [rejected]        beta -> beta (non-fast forward)
error: failed to push some refs to 'git@github.com:foobar/codedemo.git'

Обычно я проверяю бета-версию, затем беру бета-версию, и это, вероятно, решит ее.

Но поскольку это производственный веб-сайт, я не могу оформить здесь бета-версию. Есть ли способ вытащить бета-версию, не проверяя ее?

Поскольку это производственный сайт, я как-то застрял.

Изменить: Код также извлечен в другом месте. Могу ли я что-то сделать из другого места, чтобы решить проблему здесь? В другом месте проблем нет.

Edit3: С помощью принятого решения я мог бы сделать это через некоторое время, но я бы предпочел решение без второго клиента

Это было полезно?

Решение

Вы можете отправить бета-версию как какую-то другую ветку, а затем пойти куда-нибудь, где вы можете проверить ее, чтобы решить.

git push origin beta:beta-temp
# on a different machine
git fetch
git checkout beta-temp
git rebase origin/beta # puts your new commits on top of the upstream
git push origin beta-temp:beta
git push origin :beta-temp # to delete it

Другие советы

Если вы не сделали ничего странного, то причина этого в том, что на пульте есть фиксация, о которой вы не знаете, и при продолжении нажатия будет полностью игнорироваться эта фиксация.

Попробуйте сначала потянуть , что попытается автоматически объединить две фиксации, после чего вы сможете нажать.

Если вы извлечете ветку, которая в данный момент не извлечена, я думаю, все равно создаст для вас слияние.

Какую ветку вы пытаетесь нажать?

По умолчанию git push будет выдвигать все ваши настроенные отслеживаемые ветви.

Попробуйте продвинуть только текущую ветку:

git push origin HEAD

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top