Как команда разработчиков, мы строим наши проекты локально (используя git) и отправляем код в частный репозиторий, специфичный для этого проекта.Для веб-приложений мы подключаемся к производственному серверу через SSH и извлекаем код. Наша проблема заключается в том, что только один человек имеет право делать git pull, когда обновление должно быть доставлено на сервер.
Когдадобавив проект на сервер, мы обычно запускаем следующую команду:
git clone https://username@bitbucket.org/team-name/test-repository.git
Затем, когда вы хотите сделать git pull
для этого хранилища, вам будет предложено ввести пароль:
Password for 'username@bitbucket.org':
Однако, если другой пользователь попытается сделать git pull
, у него также будет запрошен исходный пароль пользователя.То, что мы хотели бы сделать, - это авторизовать нашу команду или, по крайней мере, какой-то другой вид авторизации, где мы все могли бы сделать git pull
без необходимости просить кого-то еще войти в систему и сделать это для друг друга.
Я пытался клонировать git-репо без имени пользователя:
git clone bitbucket.org:team-name/test-repository.git .
Но вместо того, чтобы это работало, мы получили такой результат:
Cloning into '.'...
Warning: Permanently added the RSA host key for IP address '0.0.0.0' to the
list of known hosts.
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Мы также нашли другой подход.Если бы я должен был войти в систему, чтобы сделать git pull
, вы могли бы использовать эту команду:
git remote set-url origin https://username@bitbucket.org/team-name/test-repository.git
Это позволит вам затем указать хранилище на ваш последний коммит и выполнить git pull оттуда, используяваш собственный пароль, но я все еще думаю, что должен быть лучший способ.
Должен быть какой-то способ, где вы можете просто войти и использовать:
git pull
Password for 'username@bitbucket.org':
Даже если кто-то еще клонировалхранилище на первом месте?