우리가 로컬 저장소에서만 작업을 하고 있다가
갑자기 컴퓨터가 고장나거나 랜섬웨어같은 바이러스에 걸린다면
데이터가 날아가게 될 수 있다
그런 상황을 방지하려면 온라인 저장소에 따로 저장을 해두면 된다
github는 그런 온라인 repository를 생성하고 관리하는 서비스이다.
git push
git push는 로컬저장소 -> 원격저장소로 보내주는 명령어이다
commit된 파일들을 보내준다
git branch -M main
git push -u 원격저장소주소 main
이렇게 하면 main 브랜치를 원격저장소로 올리게 된다
참고로 github는 기본 브랜치를 master가 아닌 main을 강요하기때문에
git branch -M main을 해주고 시작해야한다
추가로 원격저장소 주소는 https로 시작해서 .git으로 끝나는 주소를 말하며
주소를 변수로 설정할 수도 있다
git remote add 변수명 원격저장소주소
이렇게 해주면 git push -u 변수명 이렇게만 해줘도 push된다
변수로 설정한 목록을 보고싶다면 git remote -v로 볼 수 있다
사실 -u라는 옵션이 원격저장소주소를 기억하라는 옵션이다
그래서 -u 옵션과함께 한 번 원격저장소주소를 제대로 입력했다면
그 후부터는 "git push main" 만 해줘도 된다
git clone
만약 원격저장소에 있는 파일을 로컬로 옮겨서 작업하고 싶다면
git clone 원격저장소주소
이렇게 해주면 원격저장소에 있던 내용을 그대로 복제해준다
특정브랜치만 clone해줄수도 있다
- git clone <URL> // 모든 브랜치 다운로드
- git clone --single-branch <URL> // 기본 브랜치만 다운로드
- git clone --branch <브랜치명> <URL> // 특정 브랜치로 switch됨, 하지만 모든 브랜치 정보 다운로드
- git clone --branch <브랜치명> --single-branch <URL> // 특정 브랜치만 다운로드
참고로 git clone은 github repo에서 collaborators 메뉴에 등록되어 있는 아이디만 가능하다
git pull
만약 내가 공동 작업자이고 git clone을 해서 내 작업을 한 후 push를 하려했는데
clone한 이후 원격저장소에 타인에 의해 새로운 내용이 생겨났다면 오류가 날 것이다
git pull 원격저장소주소
그럴때 git pull을 해주면 원격저장소에 있던 내용을 가져와 로컬에 merge 하게된다
물론 이 때도 conflict가 발생할 수 있다(수동으로 직접 해결)
pull request
로컬에서 merge하고 push 해도 되지만
우리가 협업을 하고 있는 경우 merge하기 전 검토를 받으면 좋을 것이다
github에서는 pull request라는 기능으로 merge를 요청, 검토받을 수 있다

github repo에서 pull request를 누르고 New pull request를 누르면
위 사진과 같은 화면이 될 것이다
그럼 merge할 브랜치와 기준 브랜치를 설정한 후
create pull request 누르면 코드 리뷰를 할 수 있고 conflict를 해결할 수도 있다
그 후 merge를 해주면 된다
merge를 할 때 3-way merge, rebase merge, squash merge 3가지 방법 모두 가능하다
github에서 pull request라는 기능에 대해 완전히 알진 못했는데
이번 기회를 통해 공부할 수 있어서 의미있었다
처음부터 다시 공부해보니
흩어져있던 개념들이 연결되는 느낌이 들어서
다행이라고 생각했다
이 글은 강의 내용을 통해 공부한 내용을 정리한 것입니다
'git & github' 카테고리의 다른 글
| [git & github] git이랑 친해지기 ④ (git flow, Trunk-based 전략) (0) | 2025.10.08 |
|---|---|
| [git & github] git이랑 친해지기 ③ (git restore, git revert, git reset) (0) | 2025.10.06 |
| [git & github] git이랑 친해지기 ② (git branch, git merge) (0) | 2025.10.05 |
| [git & github] git이랑 친해지기 ① (git add, git commit, git diff) (0) | 2025.10.04 |
