Вы здесь

Обновление www-файлов на сервере с использованием git

  • Для начала нам понадобится GIT.

    Если вы работаете в ОС Linux, то можете собрать его из исходников или установить его средствами самой системы, например в RedHat, yum install git-all.
    Если вы работаете в Windows, то необходимо скачать MSysGit. Тут вы можете скачать и файлы для самостоятельной сборки дистрибутива msysgit-(net|full)install.
    Для пользователей MacOS есть своя разработка OSX Installer for Git.
    В состав сборок Eclipse или входят модули для работы с Git или их можно установить из основного репозитария платформы (EGit и JGit).

  • В установке, я думаю, проблем не возникнет.
  • После установки вам необходимо произвести начальные настройки git.
     

    Определитесь, как вы хотите учитывать перевод строк в файлах.
    Для mac/unix:

     

    Для win

     
  • Создаем пару ключей.
    ssh-keygen -t rsa
    У вас в личном каталоге ~/.ssh появятся 2 файла id_rsa и id_rsa.pub
    Первый файл - приватный ключ (никому его не давайте и не показывайте).
    Второй файл - публичный ключ, его можно показывать другим и размещать на серверах, например github.com, gitorious.com. Он нам понадобится в дальнейшем при настройке удаленного сервера.
  • Также необходимо установить git на сервере.
  • Создаем общего пользователя для работы — git
  • В его домашней директории создайте папку ~git/.ssh, файл ~git/.ssh/authorized_keys
  • В содержимое файла внесите содержимое публичного(id_rsa.pub) ключа каждого из разработчиков. Каждый ключ с новой строки.
  • Выставить права на папку ~git/.ssh - 700, на файл ~git/.ssh/authorized_keys - 600.
  • Создаем репозитарий в профиле пользователя git. Например,
     
  • Создаем папку для web-сервера, например
     
  • Настраиваем хук в созданном репозитарий:
     

    Вставляем код

     
  • Теперь каждый сотрудник может сделать локальную рабочую копию данных
     
  • После своих изменений сделать commit, затем
     

    чтобы быть уверенным, что у вас актуальные данные с сервера и отправить изменения

     

Вы также можете прочитать Git quick tips.