[Git] Git 기본 CLI 명령어

2022. 4. 22. 11:37Git

1. 스테이징과 커밋을 수행하는 add, commit

기본적인 git 명령들

git add 파일1 파일2 ...
파일들을 스테이지 추가
새로 생성한 파일을 스테이지에 추가하고 싶다면 반드시 add 명령을 사용

git commit
스테이지에 있는 파일들을 커밋

git commit -a
add 명령을 생략하고 바로 커밋하고 싶을 때 사용함. 
변경된 파일과 삭제된 파일은 자동으로 스테이징되고 커밋됨.
주의할 점은 untracked 파일은 커밋되지 않음

git push [-u] [원격저장소별명] [브랜치이름]
현재 브랜치에서 새로 생성한 커밋들을 원격저장소에 업로드.
-u 옵션으로 브랜치의 업스트림을 등록할 수 있음.
한번 등록한 후에는 git push만 입력해도됨

git pull
원격저장소의 변경사항을 워킹트리에 반영.
fetch + git merge 명령어

git fetch [원격저장소별명] [브랜치이름]
원격저장소의 브랜치와 커밋들을 로컬저장소와 동기화
옵션을 생략하면 모든 원격저장소에서 모든 브랜치를 가져옴

git merge 브랜치이름
지정한 브랜치의 커밋들을 현재 브랜치 및 워킹트리에 반영함

 

간단한 텍스트 파일 생성하고 확인

$ echo "hello git"

$ echo "hello git" > file1.txt # 큰 따옴표 안의 텍스트로 file1.txt 파일 생성

$ git status

 

생성한 파일 스테이지에 추가하기

$ git add file1.txt

$ git status

 

2. reset 명령으로 스테이징 취소하기

git reset [파일명]...
  • 스테이지 영역에 있는 파일들을 스테이지에서 내림(unstage)
  • 워킹 트리의 내용은 변경되지 않습니다. 옵션을 생략할 경우 스테이지의 모든 변경사항을 초기화합니다.
  • 기본 옵션 : mixed reset

 

스테이지에서 파일 언스테이징하기

$ git status

$ git erset file1.txt

$ git status

 

3. CLI로 첫번째 커밋 생성

첫번째 CLI 커밋

$ git add file1.txt

$ git status

$ git commit -m "add file1.txt"

 

4. CLI로 로그 확인

커밋 확인해 보기

$ git status

$ git log --oneline --graph --all -decorate

  • 042f0fd : add file1.txt

 

git log의 다양한 옵션

git log
현재 브랜치의 커밋 이력을 보는 명령어

git log -n<숫자>
전체 커밋 중에서 최신 n개의 커밋만 출력
아래의 다양한 옵션과 조합해서 사용할 수 있음

git log --oneline --graph --decorate --all
자주 사용하는 옵션으로 간결하고 멋지게 보여줌
사실 소스트리로 보는 것이 더 좋음
--oneline  : 커밋 메시지를 한줄로 요약해서 보여줌, 생략하면 커밋 정보를 자세히 표시
--graph    : 커밋 옆에 브랜치의 흐름을 그래프로 보여줌. GUI와 유사한 모습으로 나옴
--decorate : 원래는 --decorate=short 옵션을 의미함. 브랜치와 태그 등의 참조를 간결히 표시함
--all      : all 옵션이 없을 경우 HEAD와 관계없는 옵션은 보여주지 않음

 

log 명령의 옵션 확인해보기

git log
HEAD와 관련된 커밋들이 자세하게 나옴

git log --oneline
간단한 커밋 해시와 제목만 보고 싶을때 사용

git log --oneline --graph --decorate
HEAD와 관련된 커밋들을 조금더 자세하게 보고 싶을때

git log --oneline --graph --all --decorate
모든 브랜치들을 보고 싶을 때 사용

git log --oneline -n5
내 브랜치의 최신 커밋을 5개만 보고 싶을때 사용

 

좋은 커밋 메시지의 7가지 규칙

  1. 제목과 본문을 빈 줄로 분리함
  2. 제목은 50자 이내로 작성
  3. 제목을 영어로 작성할 경우 첫글자는 대문자로 작성
  4. 제목에는 마침표를 넣지 않음
  5. 제목을 영어로 슬 경우 동사원형(현재형)으로 시작
  6. 본문은 72자 단위로 줄바꿈
  7. 어떻게 보다 무엇과 왜를 설명

 

5. 도움말 기능 사용하기

git help <명령어>
  • 해당 명령어의 도움말을 표시함
  • 도움말에는 명령의 의미와 세부적인 솝션들이 매우 자세하게 표시됨

git 도움말 사용해보기

$ git help status
$ git help commit
$ git help add

 

References

source code : https://github.com/yonghwankim-dev/git_study
팀 개발을 위한 Git Github 시작하기, 정호영 진유림 저