git에서 커밋을 하다보면 Origin, Master라는 단어가 자주 나온다.
GitHub에서 원격 저장소(remote repo)를 만든 후 지역 저장소(local repo)에서 작업한 것을 올리기 위해 써야하는 명령어는 다음과 같다.
git remote add origin [원격 저장소 주소]
git push -u origin master
1) git remote add origin [원격 저장소 주소]
- 'git remote' 는 원격 저장소(remote repo)에 관해서 작업을 시작하겠다는 의미이다.
- 'add'는 새로운 레포지토리를 저장하겠다는 의미이다.
- 'origin [원격 저장소 주소]'는 해당 주소를 앞으로 origin이라고 부르겠다는 뜻이다.
2) git push -u origin master
- 로컬 레포지토리에 있는 master 브랜치의 모든 내용을 origin이라고 설정한 리모트 레포지토리로 보낸다는 뜻
여기서 -u 는 --set-upstream 의 줄임말이다.
이는 로컬 레포지토리의 master 브랜치가 리모트 레포지토리의 master 브랜치(origin/master)를 추적한다는 뜻
따라서 처음에 -u 명령어로 로컬과 리모트 레포지토리를 연결해주면 그 다음부터는 push/pull을 할 때 별도의 명령어 없이 자동으로 그 두 레포지토리가 연결된다는 뜻이다.
여기서 origin/master와 master의 차이는 다음과 같다.
더 최신 커밋인 master는 현재 로컬 레포지토리에서 편집중인 master 브랜치를 나타낸다.
예전 커밋인 origin/master는 리모트 레포지토리에 푸시된 마지막 master 브랜치를 나타낸다. 사진을 통해 리모트 레포지토리의 origin/master에 커밋을 하고나서 4번의 변경 사항 커밋이 있었고 아직 push는 하지 않은 상태인걸 알 수 있다.
- master가 로컬 레포지토리의 master 브랜치를 나타내고
- origin/master가 리모트 레포지토리의 master 브랜치를 나타낸다.
'Git' 카테고리의 다른 글
Git / git reset과 HEAD 이해하기 (0) | 2022.01.14 |
---|