четверг, 22 декабря 2016 г.

Linux: Продолжаю осваивать git

Сегодня после долгого перерыва опять подступился к git.
После прошлых экспериментов остался веб-доступ к репозиторию. Попытался сделать папочку для нового проекта, затем склонировал проект на локальную машину, там чего-то добавил/поменял, сделал коммит, затем попытался выполнить команду git push origin master и... получил ошибку:
error: unpack failed: unpack-objects abnormal exit
error: RPC failed; result=18, HTTP code = 200
fatal: The remote end hung up unexpectedly
error: error in sideband demultiplexer
Оказалось, забыл на сервере раздать права на папку с проектом для учетки, под которой работает веб-сервер.

Попутно выяснилось, что если веб-сервер использует самоподписанный кривой сертификат, то git при общении с ним обламывается с ошибкой: fatal: unable to access 'https://user@server/git/myProject/': SSL certificate problem: self signed certificate. С этим можно побороться так: стащить с сервера файл *.crt и использовать его сначала в команде git clone:
git -c http.sslCAInfo=myCertificate.crt clone https://user@server/git/myProject/
А затем вообще сконфигурировав локальную копию проекта на использование этого сертификата командой:
git config --local --add http.sslCAInfo myCertificate.crt

Также попутно пришлось вспомнить, что прокси можно прописать глобально командой:
git config --global http.proxy http://proxy:port
или индивидуально для проекта, выполнив в папке с его локальной копией команду:
git config --local --add http.proxy http://myproxy:8888

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

Отправить комментарий