본문 바로가기
Version Control System/Git

[Git CLI] 버전관리

by k-mozzi 2022. 8. 22.
반응형
Preface

 

이번 강의에선 Git의 기본적인 사용 방법을 알아봤다.

 

확실히 강사의 말대로 POSIX CLI의 사용 방법을 미리 익히지 않았으면 이해하기 훨씬 힘들었을 것 같다.

 

Git은 커맨드의 종류가 다양하고 커밋 과정도 복잡해서 익숙해지려면 시간이 꽤 걸릴 듯하다.

 

개발 공부를 처음 시작했을 때 친구가 노트북에 깃과 깃허브를 설치한 후 GUI를 이용해 커밋하는 방법을 알려줬었는데, 터미널을 통해 CLI로 직접 커밋을 진행하려 하니 생각보다 귀찮다.

 

기초적인 부분을 빨리 마무리한 후 깃허브 사용 방법을 익혀야겠다.


 

1. How to use Git?

 

 

- 'git init .': 디렉토리의 버전관리를 시작하는 명령어

→ init은 initialize의 약자로 초기화한다는 의미이다.

 

 

- '.git': git repository

→ repository: git의 버전이 저장되는 곳

 

 

- working tree: 버전으로 만들어지기 전 단계의 작업중인 파일들 (수정한 내용이 들어있음)

 

 

- staging area: 버전을 만들기 위해 모아둔 파일들 (데이터 준비 영역: repository에 올리기 위해 준비)

 

 

- 버전 관리를 하는 순서

1) git init .

2) git status: working tree status

3) git add 파일이름: add to staging area

4) git commit: create version

5) git log: show version

 

 

- git log --stat: 각 버전마다 변경된 사항을 출력한다.

 

 

- git diff: git의 마지막 버전과 working tree의 차이점을 출력한다. (show changes)

 

 

- git log -p: 모든 커밋 버전의 변경사항을 출력한다. (이전 버전과의 차이점)

 

 

- git checkout 버전 이름: 현재의 파일 버전을 특정한 시점의 파일 버전으로 되돌린다.

→ git log 명령어를 통해 이동하고싶은 버전의 이름을 파악한다.

 

 

- git checkout master: 가장 최신 버전으로 다시 돌아간다.

 

 

※ chechout은 HEAD가 가리키는 위치를 변경하는 것이다.

1) 버전 이름, 브랜치 등을 지정할 수 있다.

2) 브랜치가 아닌 버전을 가리킬 때를 detached 상태라고 한다.

 

 

- 'git add .': 현재 디렉토리 밑에 있는 모든 파일을 add한다.

→ . 대신 디렉토리 이름을 쓰면 해당 디렉토리 밑에 있는 모든 파일을 add한다.

 

 

- git commit -am "커밋 메시지": add와 commit을 동시에 진행한다.

→ 파일이 최소한 한 번 add 되어서 tracked 상태가 되었을 때만 사용 가능하다. 즉 새로 만든 파일에는 사용 불가

 

 

- git commit -m "커밋 메시지": 커맨드 라인에서 직접 커밋 메시지를 작성하는 커밋 방법

1) git commit만 치면 에디터가 나와 여러 줄의 커밋 메시지를 쉽게 설정할 수 있다.

2) git commit --amend: 이미 커밋한 사항의 커밋 메시지를 변경할 수 있다.

 

 

- git config --global core.editor "nano": git의 default 에디터를 nano로 바꾸는 커맨드

 

 

- git reset --hard 버전 이름: 해당 버전으로 리셋한다.

→ working tree에서 작업한 내용을 삭제하고 이전 버전으로 되돌린다.

1) --soft, --mixed를 사용하면 상위 버전은 지우지만, 작업하던 working tree는 남겨둔다.

2) 협업 상황에서 다른 사람과 공유된 버전은 리셋하면 안 된다.

 

 

- git revert 리버트시킬 버전 이름: 해당 버전을 revert시킨다.

1) 기존의 커밋은 유지한 상태로 해당 버전을 삭제시키는 새로운 커밋을 진행한다. (해당 커밋을 없던 셈 치는거라고 생각하면 될 듯?)

2) 한 번에 여러 단계 아래로는 revert 할 수 없다.

→ 순차적으로 한 단계씩 역순으로 revert를 진행해야 충돌이 발생하지 않는다.

 

 

- 구글에 diff tool을 검색해 다양한 도구를 사용해보기

 

 

- .gitignore: 버전 관리를 하지 않을 파일을 모아두는 파일

→ 추적하지 않을 파일명을 작성하면 된다.

 

 

- tag: 커밋 아이디 대신 이름을 붙여 관리할 수 있다.

 

 

 

출처: https://www.youtube.com/playlist?list=PLuHgQVnccGMATJK16UJ9Fjay0ozrSZKiI 

 

GIT2 - CLI 버전관리편

 

www.youtube.com

 

728x90
반응형

'Version Control System > Git' 카테고리의 다른 글

[Git CLI] 협업  (0) 2022.08.29
[Git CLI] 백업  (0) 2022.08.24
[Git CLI] Branch & Merge  (0) 2022.08.23
POSIX CLI  (0) 2022.08.20
Git 찍먹  (2) 2022.04.29

댓글