fork해온 오픈소스들로 열심히 작업하고 커밋해도 내 레퍼지토리에는 잔디가 심어지지 않는다....ㅠㅠ fork한 레퍼지토리에 커밋이 반영되기 때문이다.
오픈소스 프로젝트에 열중해 하루종일 작업하며 공부해도 내 잔디밭은 빈 칸이 늘어간다는 사실.....ㅠㅠㅠㅠ 그렇다고 잔디밭을 채우기 위해 의미 없는 무언가를 별도로 커밋하는 것은 개발자로서의 성장에 의미도 없을 뿐더러 좋은 습관은 아닌 것 같다.
개인 레퍼지토리를 따로 만들어 fork하지 않고 별도로 올린다면 커밋이력은 잔디에 반영되겠지만, 오픈소스 문화를 잘 지키기 위해서는 fork해와 가져온 내용에 대한 레퍼지토리를 명확히 밝히고 기여하는 것 또한 중요하다.
그래서, fork해 사용하되 작업이 모두 끝나고 나면 해당 레포지토리를 그대로 두고,
따로 private한 레포지토리를 만들어
외부에 공개하지 않고 내 작업 빈도를 잔디에 반영해주면 어떨까하는 생각을 했다.
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
레퍼지토리를 이동시킬 때 커밋 등의 이력까지 같이 이동시키는 명령어
$ cd forked-repository.git $ git push --mirror https://github.com/userID/new_repository.git
$ cd ..
$ rm -rf forked-repository.git