Подтвердить что ты не робот

Ошибка git при попытке нажать на удаленную ветку

Я клонировал репозиторий. Магистральная ветвь из git и создала свою собственную ветвь под названием Li. Некоторое время назад я внес некоторые изменения и нажал содержимое локального Li на удаленный Li.

Теперь я вытащил некоторые обновления с удаленного мастера на мою локальную ведущую ветку и из локальной ведущей ветки на локальный Li, и я пытаюсь вытолкнуть обновления с локального Li на удаленный Li. Однако, когда я пытаюсь запустить:

git checkout Li
git push origin Li

Я получаю следующую ошибку:

error: failed to push some refs to '[email protected]:anodejs/system.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Обратите внимание, что моя локальная ветвь мастера обновлена ​​(я вызывал git pull origin master) и сливался в локальную ветвь Li. Однако я добавил локальный Li новый файл, поэтому локальный Li не идентичен локальному хозяину (но это не имеет значения, правильно?)

Спасибо, Li

4b9b3361

Ответ 1

Найдите diff с git fetch && git log Li..origin/Li. Я бы предположил, что вы переустановили или иным образом recut Li, так как в последний раз вы нажали, но эта команда должна точно указать, что на пульте дистанционного управления нет в локальном. Вы можете найти то, что либо (но не оба) с синтаксисом трех точек: git log Li...origin/Li.

Если разность будет ожидаться, просто слейте с git merge origin/Li, а затем git push. Если изменение нежелательно, перезапишите пульт с помощью git push -f origin Li. Делайте это только в том случае, если вы хотите отказаться от удаленных изменений.

Ответ 2

Обновления были отклонены, потому что за удаленным пультом находится толкаемый ответчик.

git config --global push.default current

Попробуйте выполнить команду выше, чтобы установить текущую ветвь по умолчанию и

git push

Ответ 3

выполните следующие строки:

git fetch
git remote prune origin

Они обновляют все ваши ссылки. Затем посмотрите с каким-то GUI git клиентом (например, gitx на mac), как выглядит ваше исходное дерево. Это должно помочь выяснить проблему.

Также убедитесь, что ваше репо не является readonly, и у вас есть разрешение на запись.

Ответ 4

Вы можете принудительно нажимать изменения на удаленный адрес, но он может создавать новую удаленную ветвь

git push subtree_remote_address.git `git subtree split --prefix=subtree_folder`:refs/heads/branch --force

Ответ 5

git branch --set-upstream-to = origin/master

Если у вас возникла ошибка, когда вы находитесь на ветке "master", попробуйте выполнить следующую команду:

git branch --set-upstream-to = origin/master

Или, ярлык: git push -u origin master