github 조직의 repository fork로 작업하기

Jiwon·2024년 1월 4일
0

1. MyRepository로 fork 하기

  • 조직의 레포지토리에서 fork 클릭

  • main 브랜치만 복사하기 체크 해제

2. local로 git clone하기

  • 개인의 깃 레포지토리 주소 복사
  • clone 할 폴더에서 git bash 실행한 뒤 다음의 코드 삽입

3.GitKraken 연동

  • 클론한 레포지토리를 GitKraken에서 open

이렇게 뜨면 성공입니다!

4. IntelliJ에서 프로젝트 열기

  • 디폴트로 설정된 develop 브랜치가 보이면 됩니다.

5. 작업할 브랜치 만들기⭐중요

브랜치 만드는 단계 한눈에 보기
1) Local에서 브랜치 생성
2) 내 레포지토리에 push (내 레포지토리에 자동으로 브랜치가 생성됨)
3) 조직의 레포지토리에 브랜치 직접 생성 (자동으로 생성되지 않기 때문에)

  • 브랜치 생성은 bash에서 해도 되지만 크라켄 사용을 익숙하게 하기 위해서 크라켄으로 캡쳐해봤습니다! bash로 하실 분은 하셔도 됩니다.

1) Local에서 브랜치 생성

  1. 크라켄에서 develop 브랜치로 checkout된 것을 확인한 뒤 브랜치 아이콘 클릭

  2. 브랜치 이름 입력 후 엔터

  3. 브랜치 생성 된 것을 확인

  4. 인텔리제이를 실행하면 브랜치가 바뀐 것을 확인할 수 있음

    브랜치가 바뀌지 않은 경우 브랜치 이름을 누르고 fetch를 누르면 위에서 생성하여 checkout한 브랜치로 새로고침 됨

2) 내 레포지토리에 push

  • 작업하고 변경 내용 커밋하기(인텔리제이에서 원하는 파일만 선택해서 커밋 가능)

  • 노트북 그림 = local의 브랜치 위치
    방금 커밋한 메시지가 잘 들어갔는지 확인!!!! 후 push 클릭(push전에 두번세번확인)
  • 브랜치 경로 확인하고 submit 누르기
  • origin 에 잘 업로드 되었다면 본인의 깃허브 프로필 사진이 생김

  • 깃허브에서 내 레포지토리에서 브랜치와 커밋메세지 확인 가능
    → compare&pull request로 PR요청
  • PR요청 누르면 브랜치가 맞는지 확인해보기!!
    organization에 local에서 만든 브랜치(feature/study)가 없기 때문에 지금은 안맞는 상태!!!

3) 조직의 레포지토리에 브랜치 직접 생성

  • 조직 레포지토리로 이동하여 브랜치 만들기

  • local에서 브랜치 생성할 때 시작한 source브랜치로 맞추기(가이드를 따라했다면 develop)

6. PR 요청, 수락하기

  • 개인의 레포지토리로 돌아와서 PR 버튼 클릭

  • 이제는 같은 브랜치인 것을 확인할 수 있음! → Create pull request 클릭!

  • 충돌검사가 성공하면 초록 체크 표시뜸! (본인만 작업하는 브랜치인 경우 대부분 성공)

  • Merge pull request 클릭

  • Merged : 병합 성공한 것을 확인할 수 있음
    - Delete branch는 해당 브랜치의 작업이 끝날 때까지 절대 누르지 말기! (누르면 조직에서 브랜치 다시 만들면 됨)

  • 조직의 브랜치에 PR 잘 반영되었는지 확인하기

  • 방금 병합한 PR의 번호가 있다면 성공

7. fork한 개인 레포지토리에 sync하기

  • 이제 개인 레포지토리에서 sync fork를 해야함
    1) 개인 레포지토리인지 확인
    2) 작업한 브랜치로 바꾸기
    3) behind 커밋이 있으면
    4) sync fork버튼 누르기
    5) update branch 버튼 클릭
  • sync fork가 완료되면 다음의 내용을 확인할 수 있음

8. Local에서 pull 하기

  • 같은 브랜치 이름으로 origin(내 깃헙프로필사진)과 local(노트북아이콘) 브랜치의 위치가 다른 것을 확인
  • Pull 버튼을 누르면 local 이 있던 커밋이 위로 올라가서 같은 커밋 위치에 있게 된 것을 확인할 수 있음
  • IntelliJ에서도 git 아이콘을 누르고 새로고침을 눌러서 깃크라켄과 같은 커밋 상태인지 확인

9. 결론

브랜치 만든 다음 checkout 한뒤
→ IntelliJ에서 작업한 뒤 변경한 파일 commit (local)
→ GitKarken을 사용하여 push (local)
→ GitHub사이트에서 내 개인의 레포지토리에서 PR요청 (origin)
→ GitHub사이트에서 조직의 레포지토리에서 PR 승인 후 병합 (upstream)
→ GitHub사이트에서 내 개인의 레포지토리에서 sync fork (origin)
→ GitKarken을 사용하여 pull (local)
→ IntelliJ에서 새로고침하여 Github의 상태와 동일한지 확인! 이후 새로운 작업하기

❓ commit을 한번할 때마다 push, PR을 하지 않아도 됩니다! - 가장 작은 단위로 commit을 자주 해두고**, PR은 commit을 묶어서** 기능구현을 완료했다고 알리고 싶을때 합니다. - push를 하는 시점은 상관없습니다! 자주 하면 github에 올린 커밋이 바로바로 보이는 것일 뿐

10. 질문

Q. 8번까지 한 번은 다 했는데 새로운 작업을 하려면 어디서부터 해야할까요?

profile
작은 개발 기록

0개의 댓글