git을 사용하다 보면 clone과 fork, fork와 branch 등 분명 비슷한 기능을 하지만 다른 기능들이 있다. 조금은 햇갈릴 수 있는 기능들을 알아보기 위해 글을 작성하였다.
clone, fork 모두 git storage에서 복사기능을 수행하는 공통점이 있다.git에서 수행 된다.storage가 복사가 된다.upstream시 Push를 한다.storage가 복사가 된다.upstream시 PR(PULL REQUEST)를 한다.fork, Branch는 협업 시 코드의 추가/수정이 다른 사람들에게 영향이 가지 않도록 하는 공통점이 있다.commit이력을 확인할 수 없다.fork의 이력을 확인하기 위해선 원격저장소를 추가해야한다.commit이력을 확인할 수 있다.storage에 올리는 명령어라는 공통점이 있다.commit 후 저장소에 변경된 내용을 올리는 명령어이다.fork를 받은 원격저장소에서 변경된 사항을 원본저장소에 올리기위해서는 원본저장소를 관리하는 자에게 변경내용에 대한 확인이 필요하다. 이 과정을 PR이라고 한다.commit과 push는 권한이 있는사람만 변경된 내용을 저장소에 반영을 할 수 있다.Patch를 하여 patch 파일을 보내 변경된 사항을 확인 및 적용할 수 있다.patch 파일의 변경사항을 확인하는 명령어 : git am)branch로 분기된 저장소의 코드를 합친다는 의미를 가진 명령어이다.branch로 나뉜 gitflow가 그대로 남는다.branch로 나뉜 gitflow가 한 줄로 깔끔하게 정리가 된다.