Ошибка Git при нажатии на сервер - PullRequest
0 голосов
/ 17 августа 2011

У меня есть папка на удаленном сервере, которую мы добавили в git.

git init
git add .
git commit -m "Initial commit"

Затем мы переносим хранилище на мой локальный MacBook. Затем я добавляю файл index.js, добавляю в git и фиксирую. Проблема возникает, когда я пытаюсь отправить измененное репо обратно на сервер. Я получаю сумасшедшую ошибку:

отказывается обновлять проверенную ветку: refs /heads / master По умолчанию обновление текущей ветки в не-пустом хранилище запрещено, потому что это сделает индекс и рабочее дерево несовместимым с тем, что вы нажали, и потребует 'git reset --hard', чтобы сопоставить рабочее дерево с HEAD.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 17 августа 2011

Это происходит из-за того, что вы пытаетесь перейти к не пустому репо (репо с рабочим каталогом). Рабочий каталог - это, по сути, место, где файл «извлекается» и редактируется вживую. Когда вы нажимаете на репозиторий non bare, возникает ситуация, описанная в вашем сообщении об ошибке.

Простым решением этой проблемы, если вы все еще хотите редактировать файлы как с вашего macbook, так и с удаленного сервера, является создание третьего репо с git init --bare. Вы могли бы затем нажать и потянуть на этот репо из двух других репо.

0 голосов
/ 17 августа 2011

Удаленный репозиторий, в который вы планируете отправить, должен быть инициализирован с опцией --bare, чтобы Git не мог создать рабочий каталог. Самый простой способ сделать это - запустить новый репозиторий, обновить пульт дистанционного управления MacBook, указав новое местоположение (это должна быть папка с расширением .git), и нажать.

...