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

- 해당 repository의 파일들을 내 폴더에 복사한 후, main 브랜치 외 나에게 할당된 브랜치를 가저오려했다. 이 때 오류가 발생했다.

- 2시간을 해결방법을 찾다가 결국 알아낸 문제는 Fork 과정에서 모든 브랜치를 가저온것이 아니고 main 브랜치만 가저와서 내 repository에는 main 외에는 다른 브랜치는 존재하지 않았다.
- 그렇다보니 origin 상에 있는 내 브랜치는 존재하지 않았고 당연히 이를 불러올 수도 없었다.
- 이를 해결하기 위해 Fork해온 내 repository를 삭제하고 모든 브랜치를 포함해서 Fork를 다시 해왔고 문제를 해결했다.
- 브랜치를 불러온 후 해당 폴더의 파일을 작업하여 commit 하였다.
- Pull Request
- 작업한 commit을 github branch에 push 했는데, 그 과정에서 github token을 발급받아 사용했다.(해당 내용은 github token 생성하는 법을 구글링해 참고하였다.)
- push 과정을 통해 내 repository에 반영된 내용을 Fork 해온 미션 repository의 내 브랜치에 적용시키기 위해 Pull Request를 보냈다.
- 이 때 base는 PR을 보낼 repository의 브랜치이고 compare은 작업한 내 repository의 브랜치이다.

- 과정에서 사용한 터미널 명령어
- 이동하기
- 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 {브랜치 이름}