Git 이란?
- 버전을 관리 해주는 도구
- VCS ( version control system )
- Distributed version control : git / github / bitbucket 같은 클라우드에서 이용
Git 기본명령어
- git init : git 초기화
- git status : git 상태 확인
- git config -- global user.name "사용자 이름" : 사용자 이름 설정
- git config -- global user.email "사용자 이메일" : 사용자 이메일 설정
- git add "파일명.확장자" : 해당하는 파일을 Staging Area에 옮겨줌
- git add * : 모든 파일을 Staging Area으로 옮겨줌 ( 숨긴 파일 제외 )
- git add . : .gitignore에 있는 파일을 제외한 모든 파일을 Staging Area으로옮겨줌
- git rm --cached "파일명.확장자" : 해당하는 파일을 Staging Area에서 다시 Working Directoty으로 옮겨줌
- git diff : 수정 사항 확인
- git commit -m "commit 메모" : Staging Area에 있는 파일들을 Git Directoty로 옮겨줌
- commit은 보통 태스크 단위로
- 의미 있는 이름으로 commit
- 현재형으로 동사 ex) init, add, fix ...
- git log : commit된 기록을 확인
- git log --oneline : commit된 기록을 한줄로 약식으로 확인
- git log -숫자n : 마지막 commit된것에서 n번째까지 확인
- git log --author="사용자 이름" : 해당하는 사용자가 commit한 기록만 확인
- git log --before="2022-02-21" : 2022-02-21 이전에 commit한 기록만 확인
- git log 파일명.확장자 : 특정 파일에 대한 commit한 기록 확인
- git log -S = "단어" : 단어가 포함하고 있는 파일 commit한 기록 확인
- git remote add origin "주소" : 원격 저장소 지정
- git push : 원격 저장소에 파일 업로드
- git branch -m 이전이름 새로운이름 : branch를 새로운 이름으로 변경
Git 3가지 상태
1. Working Directoty
- untracked / tracked 로 나누어진다.
- tracked 된 상태에서도 modified / unmodified 나누어진다.
- modified 된 파일들만 add 할 수 있다. ( add : staging area로 옮겨준다. )
2. Staging Area
- 저장할 준비가 되어 있는 파일들을 옮겨 두는 스테이지
3. Git Directoty
- commit 명령어로 저장
- Git Directoty에 버전 히스토리를 가지고 있는 파일로 저장
- 언제든지 checkout 으로 원하는 버전으로 돌아 갈 수 있음
- push 명령어로 Github 같은 원격 서버에 업로드 할 수 있음