git과 github이란?
git과 github을 같게 생각하는 사람들이 있다.
하지만, git과 github은 엄연히 다르다.
- git은 버전 관리 도구
- github은 web service(웹 서비스)
git은 영상 찍은 앱, github은 유튜브라고 생각하면 이해하기 쉽다.
github이란?

- 클라우드 기반 git 저장 호스팅 서비스
- git으로 저장되어 원격 전송된 내용들이 저장되는 공간을 제공하는 서비스
git이란?

VCS(Version Control System)
- 버전 관리를 위한 도구(소프트웨어)
- 명령어 단위로 이루어진 프로그램
git의 특징
- 빠른 속도, 단순한 구조, 직관적
- 분산형 저장소 지원
- 비선형적 개발(수천개의 브랜치) 가능
git의 장점
- 하나의 파일에 여러가지 history 가능
- 동시작업이 가능해 생산성 증가
- commit 단위로 관리, 배포
- 원하는 시점(checkout)으로 이동 가능
- Branch로 개발하여 편리하게 실험 가능, 성공적이면 merge하여 반영
- 인터넷이 연결되지 않아도 개발 가능
git process flow

- working directory : 프로젝트의 파일들을 작성, 수정하는 작업
- staging area : 저장할 준비가 되어있는 파일들을 옮겨 놓는 곳
- localrepo(.git directory) : 버전 history를 가지고 있음(저장)
- remote repo : 원격 저장소
내 컴퓨터(local)와 원격 저장소(remote repo) 사이에서 파일을 주고 받는 과정
- git push : 컴퓨터(local) -> 원격 저장소(remote repo)
- working directory에서 파일 작성, 수정
- git add 명령어를 이용해 staging area로 옮김
- git commit 명령어를 이용해 localrepo에 저장
- pc에 저장된 localrepo를 git push 명령어를 이용해 remote repo로 업로드
- git pull : 원격 저장소(remote repo) -> 컴퓨터(local)
: git push의 반대 과정