본문 바로가기
TIL (Today I Learned)/GIT

[GIT] 팀 프로젝트를 위한 git 공부. #2

by 둥굴프 2022. 11. 25.
이 문서는 '생활코딩' 님의 '지옥에서 온 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 라는 과정을 통해서 원하는 파일만 커밋할 수 있다.

 

두 개의 파일 중 하나만 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

댓글