본문 바로가기

생존형 개발

Git Basic - Local Life Cycle

Git... 잘씁시다..

https://git-scm.com/book/en/v2

 

Git - Book

 

git-scm.com

git 공홈에서 무료로 제공되는 Pro Git 읽기 📖

https://opentutorials.org/module/2676/15242

 

버전관리의 본질 - 지옥에서 온 Git

저는 기술에는 본질과 혁신이 있다고 생각합니다. 그 기술의 모든 제품이 공통적으로 가지고 있는 특성이 본질이고, 특정 제품이 가지고 온 변화가 혁신이라고 생각합니다. 본 토픽의 하위에서

opentutorials.org

오픈튜토리얼스 강의를 듣기

꽑꽑이의 저세상 정리 시작

Git Life Cycle

working space 개념

.git 이있는 폴더를 기준으로 working space로 잡힌다.

.git은 커밋, 캐쉬, 스냅샷 등 현재 워킹 스페이스에서 이루어지고있는 git의 작업정보를 저장하고 있다.

working space에 파일이 추가되는 순간 추가 파일이 감지된다.

working space에 파일을 추가하면 UnTracking 에서 시작된다.

git status

명령어로 working space의 상태를 확인하면, 추가한 파일은 ‘UnTracking 파일이 감지됬다.’ 뭐식깽이라고 뜬다.

추가한 파일을 git으로 관리하고 싶으면

git add folderB


git add 명령어로 Tracking 상태로 변경한다.

git으로 관리하지 않을 파일은 .gitignore에 추가한다. .gitignore에 무시할 파일을 추가하지 않으면

계속해서 tracking상태로 변경할것인지 물어본다. 실수로 tracking상태로 변경할 수 있다.

.gitignore에 명시하면 ‘Untracking 상태인데 Tracking 상태로 변경할래?’ 라고 묻지 않는다. (상태 변경도 안됨)

새로 추가한 폴더가 빈 파일일 경우, 파일 감지가 안될 수도있다.

UnTracking 파일을 git add 명령으로 최초의 Tracking 상태로 변경하면 바로 Stage Area에 저장된다.

Tracking 상태의 파일은 변경감지가 시작된다. 변경이 없는 파일(UnModified)은 상태변경을 할 수 없다.

변경이 감지된 파일(Modified)은 Stage Area라는 git이 관리하는 영역에 저장할 수 있다.

git add


명령어로 Modified 상태의 파일에대한 스냅샷(?)이 Stage Area에 저장된다.

Stage Area 저장하고, 같은 파일을 또 변경하면 다른 변경이 감지된다.

여러 Modified 파일들 중에 하나의 커밋으로 묶을 변경사항들을 Stage Area 에 저장한다.

Stage Area 에 변경사항들이 존재하는 경우

git commit -m "머식깽이!"


Stage Area
에 변경사항들을 git commit 명령어로 하나의 묶음으로 저장할 수 있다.

.git Repository에 로컬 commit들이 시간 순서로 차곡 차곡 쌓인다.

git 은 시간순서로 쌓이고, 줄단위의 변경사항을 관리하며, 캐릭터 컬뤼지(엔터키, 탭키 등) 포함한 머선 해쉬코드 기반으로 변경을 감지한다.

 

To Be 공부 : Git Branch, Git Merge, Git Rebase, Git Reset, Git Revert, HEAD, Upstream, Git Cache, Git --force 머식깽이