본문 바로가기
Do it!

[002] Do it! 지옥에서 온 문서 관리자 깃&깃허브 입문

by Kimpeep 2021. 6. 18.

02-1 깃 저장소 만들기

깃 초기화하기 - git init

홈 디렉토리에 hello-git 디렉토리를 만들고, hello-git 디렉토리에 git init 명령을 입력한다. 이는 깃을 사용할 수 있도록 디렉토리를 초기화하는 것이다. Initatlized empty Git repository in ~ 이 뜨면, 이 디렉토리에서 깃을 사용할 수 있다는 것이다.

 

윈도우 탐색기 > 보기 > 숨긴 항목을 체크하면 깃 폴더가 생성되어있는 것을 확인할 수 있다.

 

02-2 버전 만들기

깃에서 버전이란

최종, 최종_최종, 최종_진짜최종, 최종_진짜최종_최종... 등 파일을 수정할 때 파일 이름을 바꿔서 저장해야 한다. 그러나 수많은 수정 내용을 모두 보관하기엔 어렵고, 어떤 파일에서 어떤 내용을 수정했는지 알 수 없을 것이다. 파일을 다른 이름으로 저장하여 버전을 만드는 것보다, 깃을 통해 버전을 관리하는 것이 어떤 파일에서 어떤 내용을 수정했는지 등 파일 관리를 더 쉽게 할 것이다.

 

스테이지와 커밋 이해하기

깃이 파일 이름을 유지하며 수정 내역을 기록하는 것은 가상의 개념을 통해 이루어진다.

1. 작업 트리 2.스테이지 3.저장소의 개념으로 이루어져있다. 이 중 2, 3은 .git 디렉토리에 해당하는 것이다.

1. 작업 트리: 파일 수정, 저장 등의 작업을 하는 디렉토리로 작업 디렉토리라고도 부른다. 앞서 만든 hello-git 디렉토리가 작업 트리이다. 즉, 우리 눈에 보이는 것이다.

2. 스테이지: 버전으로 만들 파일이 대기하는 곳이다. 스테이징 영역이라고도 부른다. 

3. 저장소: 스테이지에서 대기하고 있던 파일들을 버전으로 만드는 곳이다. 리포지토리라고도 불린다.

 

작업 트리에서 빔으로 문서 수정하기

책에 있는 내용을 그대로 따라갔다.

 

수정한 파일을 스테이징하기 - git add

책에 있는 내용을 그대로 따라갔다.

 

스테이지에 올라온 파일 커밋하기 - git commit

책에 있는 내용을 그대로 따라갔다.

 

스테이징과 커밋 한꺼번에 처리하기 - git commit -am

책에 있는 내용을 그대로 따라갔다.

 

02-3 커밋 내용 확인하기

커밋 기록 자세히 살펴보기 - git log

작고 소중한 내 손글씨

1. 커밋 해시 : 커밋을 구별하는 아이디

2. 작성자

3. 버전 만든 날짜

4. 커밋 메시지  : 작성자가 기록한 커밋 메시지

5. 커밋 로그 : 1~6을 묶어 부르는 것

6. 최신 버전 : HEAD -> master == 이 버전이 가장 최신이라는 표시

 

변경 사항 확인하기 - git diff

git diff를 이용하여 수정된 내용이 무엇인지 비교할 수 있었다.

 

02-4 버전 만드는 단계마다 파일 상태 알아보기

tracked 파일과 untracked 파일

역시 교재를 그대로 따라하였다.

 

unmodified, modified, staged 상태

unmodified : workinig tree clean. 수정되지 않은 상태

modified : Changes not stage for commit. 수정만 된 상태

staged : git add 명령을 사용. Changes to be commited. 커밋 직전, 스테이지드 상태.

** git commit -m "수정 내용" : 수정한 내용이 무엇인지 메모

*** git commit --amend : 커밋 만든 즉시 커밋 메시지 수정

 

02-5 작업 되돌리기

작업 트리에서 수정한 파일 되돌리기 - git checkout

스테이징 되돌리기 - git reset HEAD 파일 이름

교재와는 다르게, git restore --staged 파일으로 작성되어있는 것을 확인하였다.

git reset HEAD와 git restore --staged가 어떤 차이가 나는 것인지에 대해서는 더 연구해봐야 할 것 같다.

최신 커밋 되돌리기 - git reset HEAD^

특정 커밋으로 되돌리기 - git reset 커밋 해시

우클릭하여 복사를 누른 뒤, 커밋의 해시를 복사하라고 하였으나 실행 시 우클릭만 해도 자동으로 복사가 되었다. 사진 속에 그 흔적이 남아있다. reset 기능을 통하여 원하는 커밋을 최신 커밋으로 만들었다.

커밋 삭제하지 않고 되돌리기 - git revert

git revert가 실패하였다. 파일을 새로 제작한 뒤, 다시 시도하여 문제점과 해결책을 추후 추가하겠다. 현재의 나는 이겨내지 못했지만, 미래의 나는 이겨낼 것이니까.

 

이상으로 2장 스터디노트를 마친다.

댓글