터미널에서 cd 명령을 이용하여 작업 트리로 이동한다.
용어 설명은 여기서 확인하면 된다 : 깃 버전/ 스테이지/ 작업트리/ 커밋/ 저장소
git status
깃 상태를 먼저 확인한다.
On branch master 현재 master 브랜치에 있다.
No commits yet 아직 커밋한 파일이 없다.
nothing to commit 현재 커밋할 파일이 없다.
새로운 파일 만들기
$vim hello.txt
Insert 모드에서 아무 내용이나 입력하고 Ex 모드로 돌아간 다음 :wq를 이용하여 저장하고 편집기를 종료한다.
untracked file
또다시 $ git status를 하면 조금 다른 메시지가 나타난다.
nothing added to commit but untracked files present (use "git add" to track)
branch master에 hello.txt라는 untracked file이 있다고 한다.
깃에서는 한번도 버전 관리하지 않은 파일을 untracked files라고 부른다.
수정한 파일 스테이징 하기
$ git add hello.txt
작업 트리에서 파일을 만들거나 수정했다면 스테이지에 수정한 파일을 추가한다.
깃에게 버전 만들 준비를 하라고 알려주는 것을 '스테이징staging' 또는 '스테이지에 올린다'라고 표현한다.
warning: LF will be replaced by CRLF in hello.txt.
The file will have its original line endings in your working directory
git add시 이런 경고 메세지를 볼 수 있다.
깃에서 자동으로 텍스트 문서의 CRLF 문자를 LF로 변환해서 커밋할 것이라는 의미.
윈도우에서 문서를 저장했을 때 줄이 바뀌는 자리에는 CR문자와 LF문자가 삽입된다. 반면 리눅스와 맥에서는 줄이 바뀌는 자리에 LF 문자가 삽입된다. 그래서 윈도우에서 텍스트 문서를 스테이징할 때는 이와 같은 경고 메세지가 나타난다.
이후에 git status를 입력하면,
untracked files: 라는 문구가 changes to be committed:로 바뀌었다.
hello.txt가 스테이지에 추가된 것이다.
***
$ git add .
명령 뒤에 파일명 대신 마침표를 붙이면 작업트리에서 수정한 파일들을 한꺼번에 스테이징 할 수 있다.
스테이징된 파일 커밋하기
깃에서는 버전을 만드는 것을 간단하게 '커밋한다'라고도 말한다.
커밋할 때는 버전에 어떤 변경 사항이 있었는지 확인하기 위해 메세지를 함께 기록해둔다.
$ git commit -m "commit msg1"
-m 옵션을 붙이게 되면 커밋메세지를 적을 수 있다.
결과 메세지를 보면 1개의 파일이 변경되었고 (1 files changed), 1개의 파일이 추가되었다(1 insertion)고 나온다.
git status 결과 메세지에서는
버전으로 만들 파일이 없고(nothing to commit), 작업 트리도 깨끗하다(working tree clean)라고 한다.
$ git log
저장소에 저장된 버전을 확인할 수 있는 명령이다.
커밋을 만든 사람 Author, 만든 시간 Date, 커밋 메세지가 나타난다.
스테이징과 커밋 한꺼번에 처리하기
$ git commit -am "commit msg2"
이미 한 번 커밋한 파일이라면 -am (또는 -a -m) 명령을 이용하여 한꺼번에 처리할 수 있다.
'Backend > git & linux' 카테고리의 다른 글
깃 git log --stat/ .gitignore 설정하기 (0) | 2020.01.24 |
---|---|
깃 커밋 내용 확인하기 (0) | 2020.01.24 |
깃 관련 용어모음 (0) | 2020.01.24 |
리눅스 기초 vim 텍스트 파일 생성과 저장 (+ 편집기 변경) (0) | 2020.01.22 |
리눅스 기초 명령어 (0) | 2020.01.22 |