Seren dev's blog
article thumbnail
이 글은 인프런의 "알잘딱깔센 GitHub" 강의를 듣고 정리한 내용입니다.

인프런 강의 링크

 

[무료] 30분 요약 강좌 시즌4 : 알잘딱깔센 GitHub - 인프런 | 강의

알아서! 잘! 딱! 깔끔하고! 센스있게! 정리하는 GitHub 핵심 개념 책의 무료강의입니다. 해당 책과 Notion 링크도 무료로 다운로드 받을 수 있습니다. 비영리 프로젝트로 교재활용도 허락없이 가능합

www.inflearn.com

노션 링크

 


Fork란?

포크는 개발자들이 하나의 소프트웨어 소스 코드를 통째로 복사하여 독립적인 새로운 소프트웨어를 개발하는 것을 말한다.

 

빙키와 개리가 만든 저장소가 있다. 이 저장소에 없는 기능을 알리가 만들고 싶어하지만 저장소의 권한은 빙키와 개리에게만 있고 알리에게는 없다. 이때, 저장소의 권한을 얻어내기 위해 알리는 기여자 등록을 해야 할까?

기여자 등록을 따로 하지 않아도 Fork기능을 사용하여 원본 저장소를 복사해 내 저장소에서 commit -> push 할 수 있다. 기능 생성 후, 내 저장소 브랜치와 빙키와 개리의 저장소의 브랜치에 merge를 하면 된다.

물론 허락을 맡아야 한다.

💡 입사 과제로, 실무에서 다음과 같은 형태를 자주 사용한다.
1. Fork로 과제를 복사
2. 과제 수행 후 pull request(PR보낸다)

Fork 하는 방법

1) 복사하고자 하는 Github 레파지토리에 들어가서 오른쪽 상단에 Fork를 클릭한다.

Fork가 완료되면 내 레포지토리에 생성된 것을 볼 수 있다.

 

2) 이제 포크한 저장소를 클론하기 위해 주소 복사 버튼을 클릭한다.

저장하고 싶은 폴더를 생성한 후 git bash를 실행하고 git clone 한다.

파일 수정 -> git add . -> git commit -m '메시지' -> git push

나의 레포지토리에 반영된 것을 확인할 수 있다.

 

이때, 개리와 빙키의 원본 저장소의 변경 이력을 볼 수 없다. 원본 저장소와 알리의 저장소는 다르기 때문이다. 원본 저장소의 이력을 보고 싶은 경우에는 원본 저장소를 원격 저장소에 추가해야 한다.

 

브랜치와 포크의 차이는? 

브랜치와 포크는 두가지 모두 코드를 협업하기 위해 분기점을 나누는 방식이지만 특성이 다르므로 프로젝트에 맞게 사용해야 한다.

브랜치 포크
하나의 저장소에서 브랜치를 나누어 쓴다. 여러 저장소를 만들고 브랜치를 만들어 사용한다.
코드 커밋 이력을 쉽게 볼 수 있다. 원본 저장소에 영향을 미치지 않으므로 자유롭게 수정할 수 있다.
  원본 저장소의 이력을 보려면 주소를 추가해야 한다.
소수인원 작업 시 사용하는 것이 좋다. 불특정 다수의 사람의 작업 시 사용하는 것이 좋다.
728x90
profile

Seren dev's blog

@Seren dev

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!