- 깃허브(Github) : 저장소
- 깃(Git) : 저장소에 데이터를 올릴 수 있게 돕는 것
쉽게 말해 깃허브(Github.com)는 일종의 파일 저장소. 드롭박스나 구글 드라이브를 떠올리면 된다. 깃(Git)은 드롭박스 컴퓨터 프로그램과 비슷하다. 깃을 통해 파일을 업로드하면 온라인 깃허브에 업로드 되는 개념이다.
- 소스코드 백업이 가능해진다.
- 소스코드를 다른 사람들과 함께 공유하기 편하다.
- 호스팅 기능을 제공한다.
우선 깃허브 계정을 만들고 Create a new repository 를 통해 나만의 Public 저장소를 만든다. 깃허브 페이지스를 활성화 시키면 웹 서버의 고유한 주소를 받게된다.
ex. https://kwiseon.github.io/data-it-girls-4th-2/
→ index.html은 '홈페이지'라는 특수한 지위를 가진다. 주소 뒤에 없다면 서비스 해 줄 기본 파일을 index.html로 설정하고, 내 코드에서 홈페이지 화면(메인)을 불러온다.
- 왼쪽 연결 아이콘 → lnitialize repository
(깃에게 버전관리 하라고 명령하는 키워드) 클릭- ... → push → push를 클릭해 저장소 주소 붙여넣기
- head : 현재 어느 시점에 있다는 것을 알려준다.
- master : 최신 커밋(버전)이 어딘지 알려준다.
** head는 마스터를 가르키고, master는 최신 버전을 의미
▲ 마지막으로 작업한 커밋은 work8. 여기서 head와 master 모두 work8에 있다. 여기서 origin은 저장소의 별명 (보통 origin)
▲ 코드를 수정하고 final 커밋을 추가했다. master는 final에 있고, head는 아직 work8에 있다.
▲ final 커밋을 푸시(업로드) 해서 master와 head의 위치를 맞춘다.
깃허브는 모두 매뉴얼로 운영되기 때문에 버전을 일일히 저장해야 한다는 귀찮은 단점이 있지만 작업 히스토리 파악이 쉽다는 장점이 있다.
만약 A Local 컴퓨터와 B Local 컴퓨터가 각자 코드 작업을 하다가 동시에 공통 깃허브에 소스코드를 올리면 어떻게 될까? 깃허브는 충돌을 막아준다.
먼저 올라온 데이터를 깃이 확인한다. 나중에 업로드한 내용을 덮으면 기존 데이터가 유실되기 때문에 나중에 업로드한 컴퓨터에게 먼저 올라온 코드를 내려준다.
A 컴퓨터가 전체 코드에서 윗 부분 코드를 작업하고, B 컴퓨터가 전체 코드에서 아랫 부분 코드 작업을 하면 어떻게 될까? 깃허브는 두 코드를 합쳐준다.
그래서 많은 사람들이 다양한 작업을 하는 개발 영역에서 협업툴로 활용되는 것이다.