Git push error '[удаленный отклонен] master - > master (ветка в данный момент проверена) '

Сверху моей головы - попробуйте jquery extend

var arr3 = jQuery.extend(arr1,arr2....)

931
задан Community 23 May 2017 в 10:31
поделиться

4 ответа

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

11
ответ дан 19 December 2019 в 20:22
поделиться

Сообщение об ошибке описывает произошедшее. Более современные версии Git'а отказываются обновлять ветку через push, если эта ветка проверена.

Самый простой способ работы между двумя непустыми репозиториями - это либо

  1. всегда обновлять репозитории с помощью pull (или fetch и merge), либо, если это необходимо,

  2. с помощью push в отдельную ветку (ветку импорта), а затем слить эту ветку с мастер-веткой на удаленной машине.

Причина этого ограничения в том, что операция push работает только с удалённым Git-репозиторием, у неё нет доступа к индексу и рабочему дереву. Таким образом, если это разрешено, push на проверенной ветке изменит HEAD так, что он будет несовместим с индексом и рабочим деревом удалённого репозитория.

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

126
ответ дан 19 December 2019 в 20:22
поделиться

У меня была такая же ошибка, когда я начал изучать Git. Некоторые из других ответов явно не для новичков в Git!

(Я собираюсь использовать нетехнические термины, чтобы донести идею.) В любом случае, происходит следующее: у вас есть два репозитория, один - оригинальный, который вы создали первым, а другой - рабочий, который вы только что создали.

Прямо сейчас вы находитесь в рабочем хранилище и используете ветку "master". Но вы также "вошли в систему" в своем оригинальном репозитории в той же ветке "master". Теперь, поскольку вы "вошли" в исходный репозиторий, Git опасается, что вы можете что-то испортить, поскольку вы работаете над исходным репозиторием и все испортите. Поэтому вам нужно вернуться в исходный репозиторий и сделать "git checkout someotherbranch", и теперь вы можете работать без проблем.

Надеюсь, это поможет.

691
ответ дан 19 December 2019 в 20:22
поделиться

Вы можете просто преобразовать удаленный репозиторий в чистый репозиторий (в чистом репозитории нет рабочей копии - папка содержит только фактические данные репозитория).

Выполните следующую команду в папке удаленного репозитория:

git config --bool core.bare true

Затем удалите все файлы, кроме .git в этой папке. И тогда вы сможете без ошибок выполнить git push в удаленный репозиторий.

1132
ответ дан 19 December 2019 в 20:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: