깃이 관리하는 세 개의 공간
git 명령어
git status - untracked files와 tracked files 구분 지어줌.
git log - commit한 기록 보여줌.
git diff - 가장 최근 커밋과 작업 디렉터리 비교하기
git diff —staged - 최근 커밋과 스테이지 비교하기
git diff <커밋> <커밋> - <커밋>끼리 비교하기, 순서가 중요함.
git 되돌리기
만들어진 버전을 되돌리는 두 가지 방법
작업 임시저장하기
git stash - 변경 사항 임시 저장하기.
git stash -m “<메시지>” - 변경 사항 <메시지>와 함께 임시 저장하기.
git stash list - 임시 저장된 작업 내역 조회하기.
git stash appy <스태시> - 입시 저장된 작업 적용하기.
git stash drop <스태시> - 임시 저장된 작업 삭제하기.
브랜치 관리하기
브랜치를 사용하는 이유: 브랜치가 없다면?
브랜치는 버전의 분기
브랜치로 버전의 분기를 관리하는 방법
master 브랜치 - 최초의 브랜치
초기설정에서 master or main 중 택1.
git → master
github → main
git branch < > - 브랜치 생성
git branch - 브랜치 확인
git checkout <> - 해당 브랜치로 이동
브랜치의 이름
release
feature
hotfix
bugfix
모든지 1개는 문제가 되지 않지만 1만개는 적절한 시스템이 필요하다.
HEAD와 체크아웃
HEAD - 현재 작업 중인 브랜치의 최신 커밋을 가리킨다.
체크아웃 - HEAD의 위치를 특정 브랜치의 최신 커밋으로 옮김.
git checkout -b baz - baz 브랜치를 생성함과 동시에 checkout 해라.
git checkout 도 가능
git branch -d bar - bar 브랜치를 삭제한다.
merge(병합하다)
git merge foo - 현재 브랜치에 foo 브랜치를 병합하라.
일반 병합 - 새로운 commit을 남기고 병합한다.
빨리감기 병합(fast-forward merge)
rebase
- master 브랜치의 최신 commit으로 base를 옮긴다
- git rebase -i HEAD~숫자 - 과거의 커밋 or 여러 개의 커밋 고칠때