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
'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 |
댓글