Вы упоминаете, что используете гитоз, но из вывода команды вы предоставили мой единственный вывод, что ваша установка gitosis ПОЛНОСТЬЮ нарушена.
Первое, что я заметил, это то, что вас попросят ввести пароль, и, похоже, вы ввели его, и нажатие продолжалось. Сервер никогда не должен запрашивать пароль, если он делает это знаком того, что вы не предоставляете правильную пару ключей ssh на сервер или сервер неправильно настроен и должен привести к прерванной попытке толчка, поскольку использование учетной записи gitosis не должно установите пароль. Используя пароль, это означает, что вы переопределяете все, что предназначено для создания гитоза, и вы можете просто удалить его, потому что его вообще не используют.
Второе, что я заметил, это то, что вы нажимаете на /var/www/saris/.git
, который стандартным соглашением об именах указывает на не-голый репо. Снова вы, кажется, обойдете все, что делает гитоз, потому что гитоз работает только с голыми репозиториями. Кроме того, именно поэтому вы не видите никаких изменений на сервере. При нажатии на не-обнаженное репо рабочее дерево никогда не обновляется, поэтому эффект, который вы, похоже, пытаетесь получить (обновление веб-сайта в/var/www/saris), не будет работать. См. https://git.wiki.kernel.org/index.php/GitFaq#non-bare и http://toroid.org/ams/git-website-howto для получения дополнительной информации о не-годовых репозиториях и управлении веб-сайтами с git.
Кроме того, я хотел бы указать, когда это возможно, что гитоз не поддерживается и устарел сообществом git в пользу начальника gitolite.
EDIT: Вы полностью удалили исходный вопрос и заменили его другим несвязанным вопросом и потеряли все оригинальные детали. Вы должны были просто создать новый вопрос, но я все равно отвечу на ваш новый вопрос.
Ваш новый вопрос по существу является одним из самых простых и распространенных вопросов git. Его так часто спрашивают, что он имеет часть GitFaq, которую я скопировал здесь и даже связал, когда я ответил на ваш первоначальный вопрос.
Почему я не вижу изменений в дистанционном репо после «git push»?
Операция push всегда связана с распространением истории хранилища и обновлением ссылок и никогда не касается рабочих файлов дерева. В частности, если вы нажмете для обновления ветки, которая выгружена в удаленном репозитории, файлы в дереве работ не будут обновляться.
Это предосторожное дизайнерское решение. Дерево работы удаленного репозитория может иметь локальные изменения, и вам не удастся, нажав в удаленный репозиторий, разрешить конфликты между изменениями, которые вы нажимаете, и теми, что находятся в дереве работ. Тем не менее, вы можете легко сделать крюк после обновления, чтобы обновить рабочую копию выделенной ветки. Причина того, что это не является примером для примера по умолчанию, заключается в том, что они только уведомляют человека, делающего нажатие, если возникла проблема. Последний черновик post-update hook для этого находится в http://utsl.gen.nz/git/post-update, который касается почти всех случаев, кроме того, что на удаленном сервере уже существует конфликтное слияние (поскольку git-stash в данный момент не может его занести). Он также не работает в тех случаях, когда он может, например, ни один из файлов не конфликтует.
Быстрое эмпирическое правило заключается в том, чтобы никогда не вдаваться в хранилище, к которому прикреплено дерево работы, пока вы не знаете, что делаете.
Если вы уверены, что делаете, вы можете сделать «git reset -hard» на той стороне, на которую вы нажали. Обратите внимание, что это БУДЕТ потерять ВСЕ изменения, которые вы сделали с этой стороны, сбросив рабочее дерево на самую новую версию, которую вы нажали. Подробнее см. В этой статье о голых репозиториях.
Снова прочитайте http://toroid.org/ams/git-website-howto, с которым я связался, когда я ответил на ваш первый вопрос. Если вы используете это решение, у вас не будет этой проблемы.
Можем ли мы увидеть все сообщения об ошибках? –
Когда вы говорите «ничего не изменилось», вы имеете в виду, что копия удаленного репо - это не-голый репозиторий и что рабочий каталог не изменился? (Как правило, вы нажимаете на голый репозиторий, у которого нет рабочих файлов, push не будет изменять эти файлы, если они существуют.) –
hm, важно сказать, я Git newb; на моей последней работе мы использовали Git, но все было предварительно сконфигурировано. Можно было обновить весь репо, хотя файлы существовали, и когда он существовал и был изменен, он был обновлен, и вы могли выявить различия. –