협업을 위한 형상관리 도구, 분산 버전 관리 시스템
컴퓨터 파일의 변경사항을 추적하고
사용자들간 파일에 대한 작업을 조율하는데 사용
분산버전 관리이기 때문에 중앙 저장소가 삭제되어도
파일은 원상복구 가능하다 (병렬개발방식)
👍 깃을 사용해서 클라우드 쓰듯이 소스들을 업로드해서 저장하고
👍 내소스들을 안전하게 깃허브에 저장
👍 다른 팀원들과 수월하게 협업가능
👍 전세계 개발자들의 코드를 볼수있다.
깃 저장소 중 (Bitbucket, Gitlab, Github), 대표적인 깃허브!
✔ remote repository: 저장소 (파일이나 폴더를 저장), 작업자가 변경한 모든 히스토리 확인 가능 (깃허브에 있는 저장소를 내 로컬로 복제할 수도 있다 git clone - git저장소의 url)
✔ staging area : 저장소에 커밋하기 전 커밋을 준비하는 위치.
✔ pull : 다른 사람이 원격 저장소 (remote repository)에 업데이트한 파일이 있을 때, 내 로컬장소로 가져오는것.
✔ commit : 변경, 추가한 파일을 확정하고 저장소에 저장
✔ push : 내 로컬 디렉토리로 부터 원격저장소(remote repository)인 서버로 변경사항을 업로드 (커밋들을 원격 저장소에 업로드)
--그 전에 원격저장소와 내 로컬을 연결해야 한다.
----원격 저장소 연결 (github)
------ $ git remote add origin (원격 저장소 github URL)
origin은 remote repository의 이름이며, 다른 이름으로 설정해도 무방합니다.
✔ barnch 가지, 또는 분기점. 작업을 할때 현재 상태를 복사하여 브랜치에서 작업한후 완전하다 싶을때 merge를 하여 작업
✔ merge 다른 브랜치의 내용을 현재 브랜치로 가져와 합치는 작업
svn 중앙서버 업로드 (직관적, 동시업로드시 충돌 가능성 많음)
깃 로컬에서 작업 -> 로컬저장소 저장 후 업로드 -> 브랜치 > 머지