среда, 11 сентября 2019 г.

Git mirror how to

https://stackoverflow.com/questions/3959924/whats-the-difference-between-git-clone-mirror-and-git-clone-bare
Например, нужно создать на отдельном сервере git mirror, чтобы пайплайн обновлял копию репозитория. На сервере создан аккаунт gitlab-runner и ему дан sudo для запуска git
Пусть он будет находится в папке /home/git/gitlab
Тогда для этого клонируем с проект с опцией mirror

sudo git clone --mirror ssh://git@gitlab.domain.org:2233/domain/projects/project1.git

Можно сравнить конфигурацию для mirror и для обычного репозитория с помощью

sudo git config --list

mirror

core.repositoryformatversion=0
core.filemode=true
core.bare=true
remote.origin.url=ssh://git@gitlab.domain.org:2233/domain/projects/project1.git
remote.origin.fetch=+refs/*:refs/*
remote.origin.mirror=true


usual

fetch.recursesubmodules=false
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=ssh://git@gitlab.domain.org:2233/domain/projects/project1.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.issue-4130.remote=origin
branch.issue-4130.merge=refs/heads/issue-4130

Troubleshooting

1) если ошибка

fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

проверить включен ли ssh public key в setting-repository

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

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