GIT
VCS
(Version Control System) 파일의 변경사항을 지속적으로 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율해 협업을 가능하게 해주는 분산 버전 관리 시스템.리눅스의 창시자 Linus Torvalds 선생님이 만드셨다. 캬.
NOT delta-based version control
BUT stream of snapshots
delta-based : 각 버전마다 변경된 내용만 가지고 있다. 때문에 버전 변경 시 변경 사항을 추적해 계산하는 데 시간이 오래 걸리고 그에 따른 문제점이 발생할 수 있다.
snapshots : 프로젝트의 전체적인 모습을 스냅샷 찍 듯 가지고 있다. 그래서 버전 별로 혹은 브랜치들 사이에서 자유롭게 이동이 가능하다. 변경되지 않은 파일들은 이전 파일의 링크를 가지고 있기 때문에 무겁지 않다.
✔ Why GIT?
전 세계적으로
가장 많이 사용
되고오픈소스
이며 모든동작이 빠르
고,오프라인
에서도 업무가 가능하다. 뿐만 아니라 실수를 했다면빠르게 고칠 수 있
고쉽고 빠른 브랜칭
으로효율적인 협업
이 가능하다.추천 Terminal
- Mac : https://www.iterm2.com/
- Windows : https://cmder.net/
추천 Source Tree
✔ Git 초기화하고 삭제하기
# 깃 초기화
$ git init
# 깃 삭제
$ rm -rf .git
✔ 깃에 대한 다양한 명령어 확인
$ git config --h
혹은 git 공식 문서를 참고하세요!
✔ Git workflow
git 에는
working directory
,staging area
,.git directory
로 세 가지의 작업 환경이 나뉘어있다.
working directory
프로젝트를 작업하고 있는 곳, 파일의 수정이 일어나는 공간
- git 이 알고 있는지 여부에 따라
untracked
,tracked
로 나뉘고,tracked
안에서도 이전 버전과 차이가 있는지의 여부에 따라unmodified
,modified
로 나뉜다.
- git 이 알고 있는지 여부에 따라
staging area
"나 버전 히스토리에 저장할 준비가 됐어!" 의 모임
.git directory(== .git repository)
버전 히스토리를 가지고 있는 장소
* 공부하며 정리한 자료로 미흡한 부분이 있을 수 있습니다. 혹시라도 잘못된 부분이 있다면, 수고로우시겠지만 댓글로 알려주실 수 있을까요? 정말 감사합니다🙆 *