[20220624_Git fork vs clone]

YunTrollpark·2022년 6월 24일
1

Git

목록 보기
1/1
post-thumbnail

Git flow

1. Git fork vs Git clone

1) Git fork

1️⃣ Git fork란?

• fork는 예를 들어 A라는 사람의 repository에서 내가 어떤 부분을 수정하거나 기능을 추가 하고 싶을 때, 해당 repository를 내 Github의 repository로 그대로 복사 해오는 것.

• fork한 저장소는 원본(A의 repository)과 연결되어 있음
→ 연결되었다의 의미는 original repository에 새로운 변화가 생겼을 때(새로운 commit) 그대로 forked된 repository로 반영할 수 있음.
→ 물론, fetch나 rebase의 과정이 필요함

2️⃣ original repository에 변경 사항을 적용하고 싶으면?

먼저 해당 저장소에 pull request를 해야함 → pull request가 original repository의 관리자로부터 승인 된다면 → 내가 만든 code가 commit, merge 되어 original에 반영
(pull request 하기 전에는 내 github에 있는 forked repository에만 변경사항이 적용됨)

Repository에 권한이 없는 사용자가 저장소를 fork하고, fork한 본인의 저장소에 변경 사항을 적용한 후 push. 그리고 original repository에 내 저장소에 있는 branch를 pull request 받음 → 내가 만든 코드가 승인이 되면 해당 저장소에 merge

3️⃣ fork 하는 방법


: 우측 상단에 fork를 클릭


: 본인의 아이디가 나온거 확인하고 fork 하면 됨


: fork된 숫자 변한거 확인 후, 저 숫자를 눌러서 들어감 → 본인 닉네임 옆에 project 이름을 누르면 본인 repository가 생성된거 확인가능

2) Git clone

1️⃣ Git clone이란?

• clone은 특정 repository를 내 local machine에 복사해서 새로운 저장소를 만듬
• clone한 원본 repository를 remote 저장소 origin으로 가지고 있음
(권한이 없는 경우 push 못함)
• 기존의 제일 처음 original repository와 연결 ❌
(저장소의 commit, 등의 로그를 볼 수 ❌)

: 각 컴퓨터들은 저장소로 수정한 내용을 push하고, pull 받으며 버전을 동일하게 유지함 이러한 과정 덕분에 모든 컴퓨터들은 협업이 가능해지게 됨

2️⃣ 소규모 프로젝트에서 활용하고 싶다면?


: 초기세팅할 메인 컴퓨터 한대를 정해서 폴더만들어서 초기세팅하고 repository에 올리고, 팀원들이 해당 repository clone 받아서 본인 local에서 작업 → commit하고 rebase나 push, merge해서 사용~

profile
코딩으로 세상에 이야기하는 개발자

0개의 댓글