Git pull в среде linux изменяет владельца файлов

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

Почему каждый раз, когда я выполняю git pull на моем реальном сервере, владелец файлов будет изменен? Я продолжаю вручную делать chown john:john index.php .

Что мне нужно изменить, чтобы, когда я делаю git pull , владелец файлов будет автоматически оставаться или оставаться john .

One Solution collect form web for “Git pull в среде linux изменяет владельца файлов”

когда вы используете git pull (что эквивалентно git fetch;git merge ), git будет обновлять файлы без изменения владельца (git не сохраняет эту информацию). Но если есть новые файлы для создания, текущий пользователь будет установлен как владелец.

Для решения этой проблемы существует другое решение. Легче, возможно, добавить крючки post-update (в каталог .git/hooks ), чтобы автоматически вызвать chown john:john . -R chown john:john . -R после слияния / вытягивания ( см. Это решение SO для примера ).

Альтернативное решение:

  • используйте пользователя john вместо root (для этого потребуется разрешение на запись в john для каталога .git)
  • создайте крючок, чтобы выполнить развертывание, которое будет либо использовать john как пользователь, либо выполнить chown после обновления (так что вам нужно будет делать git pull внутри крюка post-receive для открытого репо)
  • Различные методы получения SHA1 дают разные результаты
  • git ssh alias не работает, если я не добавлю ключ к ssh-agent (OSX)
  • git shortlog между релизами и git 2.11.0
  • Папка Rsync, в то время как --exclude-from'ing .gitignore файлы на разных глубинах
  • Git-SVN не разрешает мне проверять подлинность
  • с помощью git для управления версиями любого файла, отредактированного с помощью текстового редактора
  • Список файлов, не сохраненных в репозиториях Git
  • Git Backup / home с другими репозиториями внутри него
  • Есть ли способ, использующий скрипт bash, чтобы получить местоположение изменений, сделанных в последнем git-коммите?
  • git развертывание с использованием sudo nopasswd
  • извлечение «тега» из git с помощью сценария оболочки
  • Linux и Unix - лучшая ОС в мире.