티스토리 뷰

[Git] gitlab에서 github로 잔디 옮기기, 이미 푸시된 커밋 작성자 이름, 이메일 (Author) 한 번에 변경하기

 

회사에서 gitlab 계정을 별도로 사용하고 있는데 회사에서 작업한 gitlab의 잔디를 내 gitgub로 이동하고 싶어졌다.

 

우선 gitlab master branch를 clone했다.

git clone 'gitlab repository 주소'

 

gitlab 이메일과 이동할 github 이메일이 다르면 잔디가 보이지 않는 이슈가 있는 걸 확인했다.

이슈를 대응하기 위해 clone 된 repository로 이동 후 아래 코드로 gitlab에서 이미 푸시된 커밋들의 작성자를 github의 내 정보로 강제 변경해주었다.

(협업하는 repository 시 커밋의 내용이 변경되어 충돌 가능성이 있음)

git filter-branch -f --env-filter "GIT_AUTHOR_NAME='깃허브 작성자 이름'; GIT_AUTHOR_EMAIL='깃허브 작성자 이메일'; GIT_COMMITTER_NAME='깃허브 작성자 이름'; GIT_COMMITTER_EMAIL='깃허브 작성자 이메일';" HEAD

 

github에서 새로운 repository를 생성하고 push 해주었고

git push 'github repository 주소'

 

정상적으로 잔디가 이동된 것을 확인할 수 있었다.

댓글