👉 Git에서 커밋이란?
- 변경 사항의 모음(X)이 아닌 하나의 최종 코드 모음(O) 이다!
- 다만, 기존 커밋과 비교해서 변경된 파일이 아니면, "변경되지 않았다"고만 저장해서 용량이 무겁지 않다!
※ SVN은 바로 이전 커밋과의 변경사항만 저장
- 그래서 커밋당 용량은 더 가볍지만 한 버전을 보려면 맨 처음 커밋부터 계산해야 한다. -> 속도 느림
- 반면, Git은 바로 이전 커밋만 보면 된다 -> 속도 빠름
Git의 원리는 아래와 같습니다.
0. 맨 처음 로컬 저장소를 만들었을 때
파일들을 처음 추가를 했으니까 일단 상태가 '추적 안됨'이라는 상태입니다.
1. 두 파일 스테이지에 올리기 - git add
add를 하면 stage에 올라가게 되고, 그 파일들은 'stage됨' 상태입니다.
2. 스테이지 사진 찍어 남기기 : 커밋(commit)
커밋을 하면, 커밋된 파일들은 '수정 없음'으로 다시 상태가 돌아가게 됩니다.
3. 커밋을 원격 저장소에 올리기 : 푸시(push)
커밋을 한 후에는 적절한 커밋 메시지와 함께 push를 진행합니다. 원격 저장소에 해당 파일들이 올라가게 됩니다.
4. 알루코딩.txt 를 수정하고 새로운 파일 letzgorats.txt 파일을 추가
수정한 파일인 '알루코딩.txt' 파일은 '수정함'상태가 되고 새로 추가한 파일인 'letzgorats.txt' 파일은 '추적안됨'상태가 됩니다.
5. 알루코딩.txt 를 수정하고 새로운 파일 letzgorats.txt 파일을 스테이지에 올리기 : git add
여기서 add를 또 하면, 두 파일 모두 'staged' 상태로 바뀝니다.
6. 스테이지 사진 찍어 남기기 : 커밋(commit)
이걸 또 적절한 커밋메시지와 함께 커밋을 하면 두 파일들이 모두 '수정없음'상태로 돌아가게 됩니다.
7. 커밋된 파일들을 원격 저장소에 올리기: 푸시(push)
요약하자면, 아래와 같습니다!
- Git으로 추적하는 파일의 4가지 상태
- untracked(추적 안됨)
- tracked(추적됨) - (수정 없음, 수정함, 스테이지됨)
- 작업 공간(Working directory)에 있는 "수정함", "추적 안됨" 파일을 스테이지로 올려 "스테이지됨"으로 변경한다.
- 커밋을 하면, "수정 없음" 상태로 돌아가서 파일을 다시 수정할 수 있다.
오늘은 Git의 기본중의 기본을 알아봤습니다!
반응형
'컴퓨터 공부 > ䷇ Git' 카테고리의 다른 글
[Github/깃허브] push한 commit message 수정 (0) | 2024.01.18 |
---|---|
[Github/깃허브] Git 협업 플로우를 살펴보자! (2) | 2023.07.01 |
[Github/깃헙] Repository(레파지토리) 이동하는 방법 - clone/mirror (3) | 2022.01.16 |