Fork/Pr/ForkRepo 최신화

Shaun·2022년 5월 4일
1

Github

목록 보기
2/3

협업을 하면서 Fork/Pr은 필수이다.여기서 이게 뭔지 장황하게 설명은 하지 않겠다.
다른 블로그들도 참고를 많이 했지만 가능하면 최대한 쉽고 간결하게 설명할 예정이다.

=> 간단하게 소스코드를 공유하는 공간에 테스트,검증이 확실시 된 코드들만 반영 하는 방법이다.

fork는 뭔지 pr은 뭔지, origin?? upstream??? 헷갈리는 내용이 많기때문에 그림을 그려가며 설명할 예정이다.

Fork/Pr

크게 세가지로 기억하자!

  • MainRepository(upstream) = 위에서 언급한 메인소스코드 공간
  • ForkedRepository(origin) = MainRepo를 복사해 나의 공간에 저장함
  • Local = 내 pc, 즉 여기서 코드를 우리가 조작할수 있다.

  1. 일단 내 공간(github-repostiroy) 에 MainRepository 를 복사해서 가져오기 (Fork) 를 해준다.

  1. 내 pc 에 디렉토리를 하나 만든뒤 이 디렉토리는 깃으로 쓸꺼야 라는 명령어를 날려준다
  • git init
  1. 그리고 이제 우리가 직접적으로 코드를 수정,변경을 해야 하는데 ForkedRepository에서 직접 수정하기는 어렵다. 그래서 내 pc(Local) 로 복사해서 가져온(Forked Repo) 를 복사해준다(Clone)
  • git clone (Forked repo 주소)

  1. 내 Local 과 MainRepo 를 연결시켜 MainRepo 의 변동사항이 내 Local에 바로 적용되도록 서로 연결시키는 명령어를 날려주자(그래야 최신 버전 상태에서 변경,수정을 할수 있으니까)

->첫번째 명령어는 repository의 연결상태를 확인하는 것

-> 처음은 당연히 ForkedRepo 를 Local 에 clone 했으니 ForkedRepo/Local 뿐

-> 맨 왼쪽 origin/upstream 이 repository들의 별칭이다.

-> 이름을 정할수 있지만 보통은 ForekdRepo(origin)/ MainRepo(upstream) 이다.

  • git remote -v
  • git remote add (repo별칭) (MainRepo 주소)

  1. 우리가 수정,변경한 코드들을 검증도 없이 바로 메인코드저장공간(MainBranch)에 떄려 박으면(?) 다른 사람들과의 충돌도 있을수도 있고 예상치 못한 오류도 발생 할수 있다. 그래서 내가 수정하는 코드들을 연습해 볼수있는 코드연습장 공간(branch) 를 만들어 주자 ( 그전에 commit 를 최소 한번이상 해야해서 git commit -m "initial commit")
  • git branch (새로운 branch 이름)

  1. 연습공간인 새로운 branch 를 확인 할수있다.(지금은 MainBranch에 있다.)
    • git branch (로컬 브랜치 목록 조회)
    • git branch -r (원격 브랜치 목록 조회)
    • git branch -a (모든 브랜치 목록 조회)

7.우리가 만든 새로운 Banch로 옮겨보자

  • git checkout (새로만든 branch 이름)

  1. 내 Pc(Local) 에서 clone 을 한 코드들을 수정,변경 하였다면 저장공간(repository)에 반영 해보자.
  • git add .
  • git commit -m "수정,변경내용"
  • git push (ForekdRepo 별칭) (새로만든 branch)

코드 반영시 주의!

  • 우리가 수정한 코드들을 바로 MainRepo에 반영하면 각종 예상치 못한 오류들이 발생할수도 있고 기존에 정상적인 데이터들도 같이 사라질수 있다.

  • 그러니 우리는 그것을 똑같이 복사한 ForkedRepo에 먼저 반영을 해보고 이상이 없다면 MainRepo에 반영을 하는 순서를 가져보자

ForkedRepo -> MainRepo

  • 새로운 branch 에서 작성을 하고 ForkedRepo에도 반영해서 이상이 없다면 MainRepo에 적용을 시켜보자

  • 말그대로 Main이다. 휴가 가기전 승인을 받는것처럼 MainRepo 에 변경사항을 반영할때는 보고서(PullRequest)를 작성하고 사장의 승인(merge) 가 필요하다.

  • 이 과정은 UI를 통해서 하면 됨으로 비교적 쉽다

  • ForkedRepo 에 들어가면 우리가만든 branch 가 있다. 그 옆에 new PullRequest 를 눌러준뒤 보스에게 승인(merge) 받기위해 보고서작성(pullRequest) 를 해주면 됀다.

Forked Repository 최신화

  1. MainRepo 의 최신 커밋내용을 가져오기만 한다.(merge x)

    - git fetch upstream

  2. main branch 로 바꾸기

    - git checkout main

  3. Branch 에 병합

    - git merge upstream/master

  4. master branch 에 병합된 내용을 ForedRepo 에 반영

    - git push origin master

링크텍스트

링크텍스트2

링크텍스트3

profile
호주쉐프에서 개발자까지..

0개의 댓글