프로그램/etc / / 2019. 2. 19. 15:35

gitlab에 migration 하기(다른 repo git 소스 옮기기)

반응형


방법1


$git clone --mirror 윈본git주소

ex> $git clone --mirror git@my_url:ori_source_name/project_name.git

$git remote set-url --push origin 복사될git주소

ex> $git remote set-url --push origin ssh://git@my_copy_url:30022/source_name/project_name.git

$git push --mirror


완료.



$git push --mirror 동작에서 아래와 같은 오류가 발생한다면??

! [remote rejected] master -> master (pre-receive hook declined) 


프로젝트 settings > repository 위치에서 Protected Branches 설정 하는 부분에

master 브랜치 설정 부부에 Unprotect 를 설정을 해주면 된다.




아래와 같은 에러가 발생하면

error executing git hookerror executing git hookfatal: ref updates aborted by hook

fatal: the remote end hung up unexpectedly

fatal: the remote end hung up unexpectedly


10초 후 

$ git push --no-verify


다시

$ git push --mirror

https://github.com/jakubroztocil/cloudtunes/issues/23


----------------------------------------------------------

방법2


$git clone --mirror 윈본git주소

ex> $git clone --mirror git@my_url:ori_source_name/project_name.git


현재 연결된 주소 확인

$git remote -v


변경할 주소 설정

$git remote set-url origin 복사될git주소

$git remote set-url origin ssh://git@my_copy_url:30022/source_name/project_name.git


바뀐 연결된 주소 확인

$git remote -v



$git push


git push 가 오류가 나면 아래 명령어 사용

$git push origin +master





추가 설정 팁!


ssh 주소를 보면 ssh://git@gitlab.example.com 이런식으로 되어 있다.

gitlab.example.com 도메인이 기본적으로 설정이 되어 있다 이부분을 수정이 필요하다.


/etc/gitlab/gitlab.rb 파일을 열어


아래 내용을 참고하여 example.host.com 부분을수정을 해준다.

gitlab_rails['gitlab_ssh_host'] = 'example.host.com'


수정 완료 후 아래 명령어 실행

$sudo gitlab-ctl reconfigure

$sudo gitlab-ctl restart

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유