https://www.youtube.com/watch?v=66c9QBXM2Fs&list=PLRx0vPvlEmdD5FLIdwTM4mKBgyjv4no81&index=4
https://ndb796.tistory.com/187
git : 소스코드 버전관리 시스템
github : git으로 관리하는 프로젝트를 업로드 할 수 있는 원격저장소
로컬저장소 커밋관리(=버전관리)
git init : 로컬저장소(.git디렉토리) 생성
git config --global user.name <name> : 커밋관리를 위한 사용자 정보 등록
git config --global user.email <email> : 커밋관리를 위한 사용자 정보 등록
git add <파일이름> : working directory의 <파일이름>파일을 stage(=staging area)에 올림
git commit -m "메세지" : stage의 파일들을 모두 로컬저장소에 올림, 이때 해당 커밋(=버전)에 대한 설명을 적을 수 있음.
git log : 로컬저장소에서 지금까지 만든 커밋 확인
git checkout <커밋id> : 로컬저장소의 커밋들중 특정 커밋으로 프로젝트를 되돌림
git reset HEAD <파일이름> : git add를 취소, 뒤에 파일명이 없으면 add한 파일 전체를 취소
git reset --hard HEAD^ : commit을 취소, staging area, working directory의 작업까지 모두 reset
git reset --mixed HEAD^ : commit을 취소, staging area은 reset, working directory의 작업은 남겨둠
git reset --soft HEAD^ : commit을 취소, staging area, working directory의 작업은 남겨둠
원격저장소 커밋 올리기
git remote add origin <원격저장소 주소> : 로컬저장소에 원격저장소 주소를 알려줌
git push -u origin master : 로컬저장소에 있는 커밋들을 원격저장소에 올림
원격저장소 커밋 내려받기
git clone <원격저장소주소> . : 현재위치( . )에 원격저장소의 커밋을 내려받음
git pull origin master : 원격저장소의 새로운 커밋으로 로컬저장소를 갱신