반응형
들어가는 글
Git과 Github의 중요성을 알고 블로그 초기에 Git과 Github, 간단한 명령어, README.md 작성 방법 등을 배움의 목적으로 정리하려 했었다. 하지만 잘못된 우선순위로 이제야 포스팅을 하게 되었다. 미루고 미뤄왔던 일을 이제야 하게 된 것은 계기가 있었는데, 전에 글에서 나침반이 필요하다고 표현했던 적이 있었다. 방향을 잡아주실 분을 만나 뵙고 중요성에 대해 다시 생각해볼 수 있었다.
이 글을 읽으시는 분들은 자신의 우선순위를 생각해보시고 덜 중요한 일에 시간을 허비하지 않기를 바랍니다.✨
Git의 동작 원리
Git은 시간순으로 프로젝트의 스냅샷(Snapshot)을 저장함
거의 모든 명령이 로컬 파일과 데이터만 사용하기 때문에 네트워크에 있는 다른 컴퓨터는 필요 없음
프로젝트의 모든 히스토리가 로컬 디스크에 있기 때문에 명령이 실행되는 시간이 매우 빠르다
[ 스냅샷 ]
정리
Git은 로컬 디스크에 저장하는 그 상황을 사진으로 찍어놓는 것처럼 저장한다.
따라서 내가 원하는 버전을 볼 수 있고, 수정 및 삭제가 용이하다.
로컬 디스크에 있는 프로젝트의 히스토리를 Github, GItLab 등 원격 저장소에 저장할 수 있다.
Git의 영역
원격 저장소(Github, GitLab...)를 포함하여 4가지 영역으로 나눌 수 있음
- Working Directory
- Staging Area
- Local Repository
- Remote Repository
Working Directory (Modified)
Modified : 작업 영역
수정된 파일은 아직 로컬 저장소에 반영(Commit)할 준비조차 되지 않았으며, 변경을 감지한 상태
코드를 변경하고, 새로운 파일을 추가하는 등의 수정 작업을 하는 영역
Staging Area (Staged)
Staged : 준비 영역
Index라고도 불림
로컬 저장소에 반영(Commit)하기 전의 준비 영역
git add 명령으로 커밋할 사항에 등록한 상태
Local Repository (Commited)
수정한 파일이 저장되어 버전이 생성된 것을 의미
git commit 명령으로 커밋을 완료한 상태
Remote Repository
원격 영역
git push 명령으로 수정한 내역을 원격 저장소에 반영 (git add, git commit 이후)
git fetch 명령으로 원격 저장소로부터 수정된 내역을 받음
참고 자료
https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-Git-%EA%B8%B0%EC%B4%88
반응형