티스토리 뷰
커밋commit
- commit: ~을 적어 두다
- 의미 있는 변경 작업들을 저장소에 기록하는 동작
- 잘못된 동작 실행시 특정 시점으로 되돌아 갈 수 있다
- 부모 커밋(parent commit)을 기반으로 새로 변경된 부분만 추출하여 저장한다.
- 시간에 따라 변화되는 내용만 관리하고, 코드가 변화된 시간 순서에 따라 영구적으로 저장한다.
- 장점: 복잡한 구조의 파일을 관리하지 않아도 됨, 파일 하나로 모든 이력을 처리하므로 유용
새 파일 생성
$git init
- 저장소를 깃으로 초기화
$code 파일명
- VScode 창 열기
$git status
- 깃의 상태 확인
- Untracked files (추적되지 않은 파일): 워킹디렉토리에 새로운 파일이 등록되었음을 알려줌, 깃에서 추적되지 않은 파일은 빨간색으로 표시(index.htm)
새롭게 생성한 파일을 깃에 등록 (워킹디렉토리 --> 스테이지 영역)
- 위에서 새 파일 만들면 '워킹 디렉토리'에 생성됨.
- 워킹 디렉토리의 파일은 깃이 자동으로 추적하지 않으므로(untracked file), 스테이지 영역에 '등록' 과정을 통해 추적 가능한 상태로 만들어 줘야 함
- 깃은 스테이지 영역에 있는 파일만 이력을 추적할 수 있다. (unstage 상태의 파일은 추적 불가능)
- 스테이지 영역에 등록되지 않은 파일은 커밋 작업에 포함되지 않는다.
$git add 파일이름
- add 명령어는 워킹디렉터리의 파일을 스테이지 영역으로 등록하며, 등록된 파일은 tracked 상태로 변경된다.
- 빈 폴더는 등록 할 수 없다.
- 파일 대신 현재 디렉터리를 나타내는 점(.)을 이용하면 전체 파일과 폴더 모두를 등록할 수 있다.
- new file: 스테이지 영역에 파일을 정상적으로 등록했다는 의미
파일 등록 취소 (tracked --> untracked)
- 워킹 디렉터리와 스테이지 영역을 서로 왔다갔다 하는 방법
$ git rm --cashed 파일이름
- 스테이지 삭제
- [--cached] 옵션 함께 사용: 파일을 커밋하지 않고 바로 삭제할 때 !!!!
- 한번이라도 커밋한 파일을 [$git rm -cached 파일명] 으로 삭제할 경우 --> $git reset 사용해야함
($git reset HEAD index.htm)
파일 이름 변경
$git mv 파일이름 새파일이름
- 깃의 mv를 굳이 쓰지 않고 운영체제의 mv 명령어 사용도 가능 (아래 참고)
- $git mv의 과정 (이름을 변경한다는 것은 기존 파일을 삭제하고 새 파일을 다시 스테이지 영역에 등록하는 과정과 유사하다.)
$mv index.htm home.htm
$git rm index.htm
$git add home.htm
'Git' 카테고리의 다른 글
[Git] diff 명령어 (0) | 2020.10.07 |
---|---|
[Git] 커밋(Commit) 과정, HEAD 포인터, 스냅샷, 커밋메시지, 로그확인 (0) | 2020.10.07 |
[Git] 터미널에서 VSCODE 바로 실행 (0) | 2020.10.03 |
[Git] 깃 저장소 (0) | 2020.09.23 |
[Git] 깃 실행 (0) | 2020.09.23 |