Git pull из одной учетной записи пользователя в другую

#linux #git

#linux #git

Вопрос:

Я получаю доступ к серверу Linux по ssh. У меня есть две учетные записи пользователей на этом сервере. Один пользователь для разработки и один пользователь для производства.

Речь идет о веб-приложении, которое запускается в папке public_html каждого пользователя, и я получаю доступ к приложению, посетив server_address /~user_account_name

Для этих учетных записей, использующих ssh, я создал несколько репозиториев git. Чтобы вносить обновления в рабочую учетную запись, я делаю git log --name-status -n3 и копирую файлы, которые были изменены.

Дело в том, что я хотел бы перейти с одной учетной записи на другую, но я не знаю, как это сделать.

Можете ли вы дать мне несколько советов?

Ответ №1:

Конечно, это просто. Во-первых, вы должны убедиться, что каталог public_html в каждой учетной записи пользователя является репозиторием git. Вероятно, лучший способ сделать это —

 cd /home/production
mv public_html public_html.backup
git clone /home/development/public_html public_html
  

Для того, чтобы это работало, вам, возможно, придется настроить разрешения в репозитории разработки public_html . Я бы, вероятно, предложил создать группу под названием «веб-сайт» или что-то в этом роде, добавив в нее как пользователей, так и разработчиков, и запустив

 cd /home/development
chgrp --recursive website public_html
chmod --recursive g wX public_html
  

Впоследствии, всякий раз, когда вам нужно скопировать файлы с сайта разработки на производственный сайт, вы можете запустить

 cd /home/production/public_html
git pull origin
  

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

Комментарии:

1. Спасибо за ваш ответ. Проблема в том, что я не могу добавить другую учетную запись или изменить права, которые у меня есть. Это не мой сервер.

2. Вы можете использовать любой другой набор разрешений, чтобы репозиторий разработки был доступен для чтения «производственному» пользователю.