Commit
Status
-
untracked
: 한번도 커밋되지 않아git
이 수정 여부를 추적할 수 없는 상태 -
tracked
Non-modified
: 마지막 커밋 후 변경 사항이 없는 상태Modified
: 마지막 커밋 후 변경 사항이 존재하는 상태Staged
: 변경 사항을 확정하여 기록하기 위해 대기하는 상태Committed
: 변경 사항이 확정되어 브랜치에 기록된 상태
Status
1
git status
status
: 현재 체크인하고 있는 로컬 저장소 브랜치의 상태를 조회함- 현재 위치하고 있는 로컬 브랜치
modified
파일 목록staged
파일 목록untracked
파일 목록
Difference
1
git diff <OPTION> <FILE-NAME>
-
diff
:modified
파일의 변경 사항을 조회함 -
<OPTION>
None
:unstaged area
와stage area
간 변경 사항 조회HEAD
:unstaged area
와 최신 커밋HEAD
간 변경 사항 조회--staged
:stage area
와 최신 커밋HEAD
간 변경 사항 조회
Commit Process
Add
1
git add <FILE-NAME>
add
:modified
파일을 스테이지 영역에 추가함
Commit
1
git commit <OPTION>
-
commit
:staged
파일의 변경 사항을 확정하여 로컬 브랜치에 기록함 -
<OPTION>
None
-m "COMMIT MESSAGE"
: 텍스트 에디터를 열지 않고 커멘트 창에서 커밋 메시지를 작성함--date="YYYY-MM-DD HH:MM:SS"
: 커밋한 시각을 명시함--signoff
: 커밋 메시지 끝에 커밋한 사용자의user.name
과user.email
을 표기함--allow-empty
: 변경 사항이 없는 빈 커밋을 생성함--amend
: 현재staged
파일들의 변경 사항을 최신 커밋에 추가 기록하여 새로운 커밋을 생성하고, 기존 커밋을 삭제함
Commit Message Rule
- 제목(header), 본문(body), 바닥글(footer)은 빈 행(
\n
)으로 구분함 - 본문과 바닥글은 생략해도 무방함
- 제목은 50글자 이내로 제한함
- 제목의 첫 글자는 대문자로 작성함
- 제목 끝에는 마침표를 넣지 않음
- 제목은 명령문으로 사용하며 과거형을 사용하지 않음
- 본문에는 HOW 보다는 WHAT, WHY 에 대해서 서술함
- 본문의 각 행은 72글자 내로 제한함
- 바닥글에는 참조 정보를 기입함
Type
type | 설명 |
---|---|
docs | 문서 갱신, 주석 추가 또는 데이터의 출처와 처리 방법 등을 문서화 |
feat | 새로운 데이터 분석 기능이나 알고리즘 추가 |
fix | 버그 수정 또는 데이터 정제 과정에서의 오류 수정 |
perf | 성능 향상을 위한 코드 수정 |
style | 코드 스타일 변경 또는 주석의 스타일 수정 |
refactor | 데이터 처리 또는 분석 코드의 구조 변경 |
data | 데이터셋의 추가, 업데이트, 또는 데이터 전처리과정에 관련된 작업 |
test | 새로운 테스트 추가 또는 기존 테스트 수정 |
chore | 빌드 시스템 설정 변경, 라이브러리 업데이트 또는 그 외 기타 작업 |
Tag
Search
1
git tag -list <OPTION>
-
tag -list
: 로컬 브랜치의 태그 목록을 조회함 -
<OPTION>
None
: 전체 태그 목록<CONDITION.*>
: 키워드CONDITION
을 포함하는 태그 목록
1
git show <TAG-NAME>
-
show
: 특정 태그 정보를 상세조회함- 태그 주석(Tag Annotation)
- 태그 작성자(Tagger)
- 태그 날짜(Date)
- 해당 태그가 가리키는 커밋
Create
1
git tag <OPTION> <TAG-NAME> <COMMIT-HASH>
-
tag
: 특정 커밋에 태그를 부착함 -
<OPTION>
None
: 기본 태그(LightWeight Tag)-
-a
: 주석 태그(Annotated Tag)1
git tag -a <TAG-NAME> -m "Annotation" <COMMIT-HASH>
Delete
1
git tag -d <TAG-NAME>
-
tag -d
: 로컬 저장소의 특정 태그를 삭제함 -
<TAG-NAME>
$(git tag -l)
: 로컬 저장소의 모든 태그를 삭제함
Reference
This post is licensed under
CC BY 4.0
by the author.