프로젝트 버전 관리 + 협업 ⇒ "형상관리"

분산관리 방식 : (Division Version Control System)

repository : 소스를 저장하는 곳 , 저장소

branch : master(default) 하나의 소스에 여러명이 작업 , branch간 작업은 독립성을 갖는다.

commit : 소스코드를 수정 , 파일 추가 등등 하나의 작업이 완성된 후 저장 하는 것 commit message를 통해 팀원들과 공유 , commit message은 회사마다 컨벤션이 다름

checkout : branch 간의 이동을 말한다.

merge : 다른 branch 병합 가지고 온다는 개념 버전을 받는쪽으로 checkout 한 후 merge 진행

conflict : merge 중 충돌이 났을 경우, 최신버전을 받지 않고 작업을 한뒤 커밋을 하고 머지 할 경우 같은 소스코드를 여러명이 수정 후 커밋 할 경우

push : remote , server로 merge

pull : client , local로 merge

remote : 원격연결 , local 저장소 와 서버 저장소의 연결

clone : remote 로 local copy

Git / Github 커맨드

#git 저장, Github push
git init : .git 폴더생성 

git add : .git 폴더에 파일 임시 저장
git add . :  모든 폴더 저장

git commit : .git에 저장확정
git commit -m : "커밋메시지"
git commit --amend -m "바꿀 메시지"

git push : Github에 업로드
git push origin master : master 저장
git push -f origin master : 강제실행

# .git Github 원격 연결 (처음 한번)
git remote add origin [Github 주소] : local .git폴더와 Github 원격연결

git remote -v : 원격 연결 확인 

# Github clone
git clone [Githhub path] : 폴더 복사
git pull origin master : update

# git 명령어
git status : 현재 .git 폴더 상태

git log : git log 보기

git branch : 현재 baranch 확인

git stash : 기존 변경된 파일 임시저장 (그리고 최신버전 가져오기)
git stash pop : 임시저장된 파일 가져오기
git stash list : 임시저장소 파일 목록 보기