[git] fork해온 레퍼지토리로 잔디 심기

GY·2021년 11월 22일
0

Git

목록 보기
7/13
post-thumbnail

fork해온 오픈소스들로 열심히 작업하고 커밋해도 내 레퍼지토리에는 잔디가 심어지지 않는다....ㅠㅠ fork한 레퍼지토리에 커밋이 반영되기 때문이다.

오픈소스 프로젝트에 열중해 하루종일 작업하며 공부해도 내 잔디밭은 빈 칸이 늘어간다는 사실.....ㅠㅠㅠㅠ 그렇다고 잔디밭을 채우기 위해 의미 없는 무언가를 별도로 커밋하는 것은 개발자로서의 성장에 의미도 없을 뿐더러 좋은 습관은 아닌 것 같다.

개인 레퍼지토리를 따로 만들어 fork하지 않고 별도로 올린다면 커밋이력은 잔디에 반영되겠지만, 오픈소스 문화를 잘 지키기 위해서는 fork해와 가져온 내용에 대한 레퍼지토리를 명확히 밝히고 기여하는 것 또한 중요하다.

그래서, fork해 사용하되 작업이 모두 끝나고 나면 해당 레포지토리를 그대로 두고,
따로 private한 레포지토리를 만들어
외부에 공개하지 않고 내 작업 빈도를 잔디에 반영해주면 어떨까하는 생각을 했다.

fork해온 작업내용 잔디심기

fork해온 레퍼지토리 클론하기

git clone --bare

git 레퍼지토리를 bare로 만드는데, 모든 브랜치들을 복사할 때 복제된 원본 원격 저장소의 브랜치와 참조값을 무시하고 독립적으로 설정한다.
git clone --bare https://github.com/userID/forked-repository.git

새로 잔디를 반영할 레퍼지토리 만들어 푸시하기

$ cd forked-repository.git $ git push --mirror https://github.com/userID/new_repository.git

git push --mirror

레퍼지토리를 이동시킬 때 커밋 등의 이력까지 같이 이동시키는 명령어
$ cd forked-repository.git $ git push --mirror https://github.com/userID/new_repository.git

임시로 클론해온 로컬 레퍼지토리 삭제

$ cd ..
$ rm -rf forked-repository.git


Reference

profile
Why?에서 시작해 How를 찾는 과정을 좋아합니다. 그 고민과 성장의 과정을 꾸준히 기록하고자 합니다.

0개의 댓글