이 문서는 '생활코딩' 님의 '지옥에서 온 GIT'을 참고하여 작성됐습니다.
지난 포스팅 #1에서는 파일을 생성 및 수정하고 버전 관리 시스템에게 넘기는 것을 했다.
#1
1. 파일을 복사 ( cp )
- cp f1.txt f2.txt : f1.txt 파일과 똑같은 파일인 f2.txt 파일을 만든다.
- git status ( 버전 관리 상태 확인 ) > git add f2.txt ( 버전 관리 시작 ) > git status ( 버전 관리 상태 확인 ) > git commit ( 깃에게 버전 관리를 넘긴다 ) > git log ( 깃 기록 확인 ) > q ( 기록 확인 창에서 나가기 )
2. 파일 수정 ( vim f1.txt , vim f2.txt)
- 현재 존재하는 두 개의 파일을 수정한 이후 git status로 상태 확인.
- 두 개의 수정된 파일이 확인된다.
왜 깃이 add 라는 과정을 포함하고 있는가?
commit 하나는 하나의 작업을 담고 있는 것이 이상적이다.
그러나 시기를 놓쳐서 많은 작업을 담고 있는 거대한 작업을 담아야 할 수 있다.
이때, 깃은 add 라는 과정을 통해서 원하는 파일만 커밋할 수 있다.

위 상태에서 git commit을 하게되면 f1.txt 만 버전이 저장되고, f2.txt는 여전히 추적되지 않은 상태로 남아있다.
- git add f1.txt를 한 상태는 'commit 대기 상태'인 것이다.
- git commit은 commit 대기 상태의 파일들만 그 버전에 포함시킨다.
#2 stage, repository
stage area : commit 대기 상태
git add f1.txt를 실행하면 f1.txt는 스테이지에 올라가게 된다.
그 스테이지는 커밋 대기할 파일들의 스테이지다.
이후 커밋을 하게되면 그 스테이지 위의 파일들이 버전이 되는 것.
git은 기본적으로 stage와 repository라는 개념이 있다.
- stage : commit대기를 하고 있는 파일들이 가는 곳
- repository : commit 된 결과가 저장되는 곳
#3 변경사항 확인하기
1. 버전 차이점 확인하기 ( git log -p )
- 직전 커밋과의 차이점을 보여준다.
- 혹은 수정 사항을 보여준다.
2. 특정 commit의 차이점 확인하기 ( git diff )
- git log에서 commit의 고유 아이디 값을 확인할 수 있다.
- git log {commit ID} : 해당 commit이전의 메시지만 확인할 수 있다.
- git diff {commit ID}..{commitID} : 해당 버전과 버전 사이의 소스코드 차이를 확인한다.
#4 현재 작업 확인하기 ( git diff )
1. vim f1.txt : 파일 수정
- git diff : 현재 작업 확인 > commit 하기 전 마지막 리뷰 기회 제공
2. git add f1.txt > git diff : 아무것도 나오지 않는다.
- git diff는 작성한 코드가 커밋하기 전에 이전 커밋과의 차이점을 보여주는 것
#5 많이 사용되는 명령어
1. '생활코딩'님의 구글 검색엔진 검색 빈도 조사결과 (2017.02.12)
command | google results | % |
commit | 528,000 | 7.981980075 |
push | 523,000 | 7.906393143 |
pull | 506,000 | 7.649397572 |
clone | 489,000 | 7.392402002 |
checkout | 470,000 | 7.105171658 |
add | 446,000 | 6.742354382 |
branch | 439,000 | 6.636532676 |
log | 388,000 | 5.865545964 |
diff | 369,000 | 5.578315621 |
fetch | 355,000 | 5.36667221 |
merge | 354,000 | 5.351554823 |
init | 343,000 | 5.185263572 |
status | 286,000 | 4.323572541 |
reset | 267,000 | 4.036342197 |
tag | 246,000 | 3.718877081 |
rebase | 203,000 | 3.068829461 |
rm | 142,000 | 2.146668884 |
show | 104,000 | 1.572208197 |
bisect | 62,800 | 0.9493718726 |
grep | 49,400 | 0.7467988934 |
mv | 44,700 | 0.675747176 |
2. 명령어 메뉴얼 확인하는 방법 ( git commit --help )
- git commit --help : git commit 명령에 대한 메뉴얼이 나온다.
- 화살표 위 아래로 스크롤할 수 있다.
- OPTIONS에서 명령어를 볼 수 있다.
- git commit -a : add 없이 수정된 모든 파일이 commit 된다.
- git commit -am "{commit message}" : add 과정 없이 + 에디터를 열지 않고 인라인에서 commit message를 입력하고 commit 한다.
긴 글 읽어주셔서 감사드립니다.
22.11.25
'TIL (Today I Learned) > GIT' 카테고리의 다른 글
[GIT] 팀 프로젝트를 위한 git 공부. #5 (0) | 2022.11.25 |
---|---|
[GIT] 팀 프로젝트를 위한 git 공부. #4 (0) | 2022.11.25 |
[GIT] 팀 프로젝트를 위한 git 공부. #3 (0) | 2022.11.25 |
[GIT] 팀 프로젝트를 위한 git 공부. #1 (1) | 2022.11.25 |
댓글