깃 저장소를 만들 디렉토리 만들기(홈디렉토리에 hello-git이라는 디렉토리 만들고 이동하기)
$ mkdir hello-git
$ cd hello-git
hello-git 디렉토리 안의 내용을 살펴보기 위헤 'ls -la' 명령을 입력.
git init 명령어로 깃을 사용할 수 있도록 디렉토리를 초기화하자.
$ git init
ls 명령을 사용해 디렉토리를 확인해보면 .git이라는 디렉토리가 생겨있다. 이 디렉토리가 깃을 사용하면서 버전이 저장될 저장소임.
$ ls-la
스테이지와 커밋 이해하기
스테이지와 리포지토리는 .git폴더 안에 숨겨져있음
-> 작업트리에서 파일을 수정하고, 수정한 파일 중 버전으로 만들고 싶은 걸 스테이지에 저장한다. 그 스테이지에 올린 걸 리포지토리로 넘기는 과정을 커밋이라 함.
작업트리에 빔으로 문서 수정하기
a. 수정한 파일을 스테이징하기 -> git add
스테이징 내용을 .git/index 파일에 저장하기 때문에 스테이지에 올리는 것을 인덱스에 등록한다고도 한다.
$ git add hello.txt
b. 스테이지에 올라온 파일 커밋하기 ->git commit
커밋할 땐 그 버전에 어떤 변경 사항이 있었는지 메시지를 함께 기록해야함.
$git commit -m 'message1'
c. 버전이 제대로 만들어 졌는지 확인하기 -> git log
-> 지금까지 만든 버전이 화면에 나타나고, 각 버전마다 설명도 함께 나타난다. commit 옆에 긴 글 써있는 건 커밋 해시. 그 옆에 HEAD->master 는 이 버전이 가장 최신이라는 표시임.
-> q를 눌러서 로그 화면에서 빠져 나올 수 있다.
d. 변경 사항 확인하기 -> git diff
-> 삭제된 내용은 -로 표시, 추가된 내용은 +로 표시됌.
스테이징과 커밋 한꺼번에 처리하기 -> git commit -am
tracked파일의 상태가 어떻게 바뀌는지 확인해보자
git status를 통해 깃의 상태를 확인
-> working tree clean 이라고 나타나면 현재 작업트리에 있는 모든파일의 상태는 unmodified(수정안된상태).
changes not staged for commit. 이라고 나오면 modified 상태
chages to be commited 라는 메시지는 staged 상태
commit하면 다시 unmodified 상태로 돌아간다.
untracked -> unmodified -> modified -> staged : 스테이징
unmodified -> modified : 파일 수정
modified -> staged : 스테이징
staged -> unmodified : 커밋
스테이지에 올렸던 파일을 내리거나 커밋을 취소하는 방법
$ git checkout -- hello.txt
-> revert 명령어의 경우에는 명령 뒤에 A가 아닌 취소하고 싶은 버전. 예를 들어 revert B 라고 입력해야 함.