Требуется Git Setup (удаленное и локальное репо) - PullRequest
7 голосов
/ 31 августа 2010

Я купил личную коробку разработчика, которую я буду использовать для развертывания вещей, которые я создаю на своем ноутбуке. Я подумал, что было бы неплохо использовать Git для управления кодом. Идея заключалась в том, что я буду продолжать коммитить на своем ноутбуке и, при необходимости, буду выдвигать изменения в удаленном окне разработки.

  1. Я инициализировал репозиторий Git на коробке и
  2. клонировал его на моем ноутбуке.
  3. Но после выполнения git push я получаю эту ошибку:

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

Я знаю, что удаленное репо не было голым.

Я хочу спросить, есть ли единственный способ настройки моего типа:

  1. Инициализация чистого репо на сервере
  2. клонируйте его на моем ноутбуке
  3. добавить новые файлы в локальный репозиторий ноутбука и зафиксировать файлы
  4. нажмите на репозиторий удаленного разработчика

Даже эта настройка выдает мне ошибки:

No refs in common and none specified; doing nothing.
Perhaps you should specify a branch such as 'master'.
fatal: The remote end hung up unexpectedly

EDIT

Я пытался

git push origin master

Получил эту ошибку:

error: unable to create directory for .git/refs/remotes/origin/master
error: Cannot lock the ref 'refs/remotes/origin/master'.

О, тупой меня ... Я думаю, что это sudo как в

sudo make me intelligent

Ответы [ 2 ]

10 голосов
/ 31 августа 2010

Первое сообщение, как вы сказали, было из-за того, что удаленный репозиторий не был пустым репо.

Второе сообщение было из-за того, что у пустого репо, который вы создали, не было ветвей для начала.Когда вы клонировали репо и извлекли рабочую копию, она создала для вас основную ветку.Однако, когда вы попытались протолкнуть, на удаленном репо не было главной ветки, поэтому он жалуется.

Попробуйте использовать git push origin master (или как называется ваш пульт), и он должен создать ветви на пульте длявы.

0 голосов
/ 29 августа 2015

Второй выпуск:

error: unable to create directory for .git/refs/remotes/origin/master
error: Cannot lock the ref 'refs/remotes/origin/master'.

появляется, когда ваши права доступа к файлам и разрешения неверны . Это сообщение означает, что в текущем рабочем репо вы пытаетесь вытолкнуть некоторые файлы, недоступные для записи. Посмотрите на весь путь до .git/refs/remotes/origin/master, чтобы определить проблему. Я бы порекомендовал не использовать sudo с git , потому что это создаст файлы и т. Д. В качестве пользователя root unix и предотвратит дальнейшую работу с этим репозиторием без повторного выполнения sudo'ом.

Если вы попали в многопользовательскую среду , вы можете создать новый user git с пустым паролем (без ssh для этого пользователя!), Который можно переключить с помощью su git (su = переключение пользователя), который обрабатывает все операции извлечения / извлечения / клонирования и т. д. Это, по сути, то, что деамонизированная установка также сделает (один пользователь для любых метафайлов), но может иметь некоторые преимущества в некоторых случаях. *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...