Back to archive

TIL

20221018

ForkFork란 개발자들이 하나의 소프트웨어 소스 코드를 통째로 복사하여 독립적인 새로운 소프트웨어를 개발하는 것이다.미션 repository를 내 repository로 Fork 해왔다.https://s3.ap-northeast-2.amazonaws.com/

Read original on VelogOriginal article in Korean

Fork와 Pull Request

  1. Fork
  • Fork란 개발자들이 하나의 소프트웨어 소스 코드를 통째로 복사하여 독립적인 새로운 소프트웨어를 개발하는 것이다.
  • 미션 repository를 내 repository로 Fork 해왔다. /image/development/4aed52929646f8b536de.png
  • 해당 repository의 파일들을 내 폴더에 복사한 후, main 브랜치 외 나에게 할당된 브랜치를 가저오려했다. 이 때 오류가 발생했다. /image/development/31d6599f346fea96a4e6.png
  • 2시간을 해결방법을 찾다가 결국 알아낸 문제는 Fork 과정에서 모든 브랜치를 가저온것이 아니고 main 브랜치만 가저와서 내 repository에는 main 외에는 다른 브랜치는 존재하지 않았다.
  • 그렇다보니 origin 상에 있는 내 브랜치는 존재하지 않았고 당연히 이를 불러올 수도 없었다.
  • 이를 해결하기 위해 Fork해온 내 repository를 삭제하고 모든 브랜치를 포함해서 Fork를 다시 해왔고 문제를 해결했다.
  • 브랜치를 불러온 후 해당 폴더의 파일을 작업하여 commit 하였다.
  1. Pull Request
  • 작업한 commit을 github branch에 push 했는데, 그 과정에서 github token을 발급받아 사용했다.(해당 내용은 github token 생성하는 법을 구글링해 참고하였다.)
  • push 과정을 통해 내 repository에 반영된 내용을 Fork 해온 미션 repository의 내 브랜치에 적용시키기 위해 Pull Request를 보냈다.
  • 이 때 base는 PR을 보낼 repository의 브랜치이고 compare은 작업한 내 repository의 브랜치이다. /image/development/744602b16d9bc9e880e6.png
  1. 과정에서 사용한 터미널 명령어
  • 이동하기
    • cd {이동할 경로}
  • 파일, 폴더 만들기
    • mkdir {파일, 폴더명}
  • 열기
    • open {파일 혹은 폴더의 경로}
  • git 생성
    • git init
  • 원하는 파일(폴더)만 Staging Area에 올리기
    • git add {Staging Area에 올릴 파일 혹은 폴더}
  • 모든 변경 사항을 Staging Area에 올리기
    • git add .
  • commit 하기
    • git commit -m "test.txt 파일 추가"
  • 로그 확인
    • git log
  • 브랜치 만들기
    • git branch {새로 만들 branch 이름}
  • 브랜치 확인
    • git branch
  • 브랜치 이동하기
    • git switch {이동할 branch 이름}
  • 브랜치 만들기 + 이동하기
    • git checkout -b {새로 만들 branch 이름}
  • 병합하기(현재 branch에 다른 branch 병합)
    • git merge {병합할 branch 이름}
  • clone 하기
    • git clone {복사한 url}
  • 브랜치 추적하기
    • git checkout -t origin/{브랜치 이름}
    • 여기서 origin은 이 git이 연결되어있는 repository
  • push 하기
    • git push origin {브랜치 이름}
Back to archive