개발 관련 스터디

git fork 와 clone

옹재 2021. 8. 11. 14:46
728x90
반응형

fork vs clone

git을 사용해 협업을 한다면 fork, clone이라는 단어를 많이 듣습니다. 저는 지금까지 clone을 사용해서 협업을 해왔는데 입사 후에 회사에서는 fork를 사용해서 형상관리를 하고 있었습니다. 그래서 fork에 대해 정리를 해야했고 clone과 비슷하면서도 다르기에 비교를 하면서 정리를 하려고 합니다.

clone

먼저 clone은 원본 레포지토리의 내용을 내 로컬 레포지토리로 완전히 복사합니다. clone한 우너본 레포지토리를 remote 저장소 origin으로 가지고 있습니다. 권한이 없는 경우에는 해당 저장소로 push를 하지 못합니다.

또한 기존의 제일 초기 원본 레포지토리와 연결되지 못합니다. 즉, 저장소의 commit, 등의 로그를 보지 못합니다.

fork

원본 레포지토리를 내 git 레포지토리로 그대로 복사하는 기능입니다. fork한 저장소는 원본 레포지토리와 연결되어 있습니다. 여기서 연결되어 있다는 의미는 원본 레포지토리에 어떤 변화가 생기면 그대로 fork된 레포지토리에 반영할 수 있다는 의미입니다.

그 후 원본 레포지토리에 변경 사항을 적용하고 싶으면 해당 레포지토리에 pull request를 해야합니다. 관리자가 승인하면 fork 레포지토리의 수정된 코드를 원본 레포지토리에 반영할 수 있습니다. pr(pull request) 전에는 fork된 저장소에만 변화가 적용됩니다.

728x90
반응형