깃 사용법에 대해 포스팅을 할려고 합니다.
리눅스 기본 명령어
우선 깃은 리눅스 기반으로 되어있기 때문에 리눅스의 기초 명령어를 적겠습니다. 실습을 꼭 해보아서 몸에 익도록 해주세요.
- ls : 현재 경로의 파일 리스트 확인
- ls -al : 파일리스트를 자세히 보기(숨김 파일까지 보기)
- touch 파일명 : 파일명으로 새로운 파일 생성
- rm -rf 파일명 : 해당 파일(폴더)명을 삭제
- mkdir 폴더명 : 폴더명으로 폴더 생성
- mkdir .폴더명 : 폴더명으로 숨긴 폴더 생성
- cd 경로 : 해당 경로로 이동
- 상대경로 : 현재 내 위치를 기준으로 이동
- 절대경로 : 기준이 되는 위치로 부터 타고 들어가기
- 복사 : ctrl + insert
- 붙여넣기 : shift + insert
* : 모든 것
- start . : 현재 폴더를 탐색기로 실행
깃이란
깃은 한 워크스페이스(폴더) 내부의 소스코드 파일들의 변경사항들을 저장하고 관리하는 일종의 기술, 프로그램입니다.
깃 흐름도
깃 흐름도
workspace, index, local repository

깃은 크게 3가지의 흐름, 상태로 나뉠 수 있습니다.
- workspace
workspace는 우리가 현재 작업하고 있는 상태의 폴더입니다.
깃은 로컬레파지토리와 워크스페이스를 비교를 합니다.
(이걸 트렉킹한다고 표현합니다.)
예를 들어 로컬레파지토리에는 아무것도 없는데 워크스페이스에 a라는 파일이 있으면
git status 라는 명령어를 입력할 때 a가 다르기 때문에 나옵니다.
파일 내부의 변화가 달라져도 git status 에 변경사항으로 나오게 됩니다.
- index
워크스페이스에 a라는 파일이 있다고 가정하고 a 파일을 로컬 레파지토리에 올려 버전관리를 하고 싶다고 가정하겠습니다.
그렇게 하기 위해 중간 과정인 index 라는 주머니? 장바구니 같은 역할이 되는 것이 있습니다. git add a 를 하여 index에 장바구니에 넣듯이 넣게 됩니다.
- local repository
로컬 레파지토리에 올리게 되면 해당 파일의 버전이 올라가게 됩니다. 이렇게 git commit -m "올리고 싶은 메세지" 올리게 되면 해당 메세지와 함께 이 workspace의 상태들이 캡쳐되듯 저장되게 됩니다.
깃의 시간여행
이렇게 깃 흐름도를 통해 레파지토리에 올라간 커밋들은 식별할 수 있는 번호로 구분되어 있습니다.
이걸 포함하여 깃 로그를 확인하는 방법은 git log --online 입니다.
시간여행하듯 그 당시의 커밋으로 돌아가는 방법은 git checkout commit번호 입니다.
깃 명령어
- 깃 저장소(레파지토리) 생성 : git init
- 디폴트 브랜치 확인: git config --global init.defaultBranch
- 디폴트 브랜치 설정: git config --global init.defaultBranch 브랜치명
- git status : git 저장 상태 확인
- 빨간색 : 저장소에 반영되지 않은 파일
- 녹색 : 저장소에 반영할 준비가 된 파일
- git add 파일명 : 해당 파일을 index에 넣는다.
- git commit -m “해당 메세지” : 메시지 기록 후 저장소에 저장
- git config user.name “github 닉네임”
- git config user.email “github email”
- git log –oneline : 현재시점까지 commit이력 확인
- git checkout commit번호 : 해당 commit 시점으로 파일을 되돌림
- git log –oneline -all : 커밋 모든 이력 확인
- git checkout 브랜치 : 브랜치의 최신 시점으로 돌아감