Git 이란
깃은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 스냅샷 스트림 기반의 분산 버전 관리 시스템이다. 또는 이러한 명령어를 가리킨다.
Git 용법
- Repository : Git 파일 기록해두는 저장소\
- GitHub : 원격 저장소
Git 설치법
Window 깃 설치 주소
Git 사용법
- git init
- git add 파일명
- git commit m -'기록메세지'
- git status
- git log
- git branch 브런치명
- git swcith 브런치명
- git merge 브런치명 (회사 컨벤션에 맞는 방식을 채택)
- 3-way : 일반적인 병합 방식
- fast-forward : main 신규 커밋없을때 병합할 브런치가 메인이 되는 방식
- rebase : main 브런치의 기준을 내가 원하는 곳으로 이동한 후 병합하는 방식
1. git rebase main (Head 는 병합할 브런치)
2. git merge 브런지 (Head 는 Main)
- squash : 3-way 방식으로는 팀단위로 병합할때 무수히 많은 로그로 알아보기 힘들어짐.
1. git merge --squash 브런치명
- git restore
- git restore --source commitid (commitid 시점으로 로컬 복구)
- git restore --sated 파일명 (파일명 stated 취소(add되었을때 취소가능))
- git revert commitid ( commitid 취소 )
- git revert head ( 최근 커밋 취소 )
- git reset --hard commitid ( 커밋이 생성된 시점으로 모든걸 돌림(사용시 주의))
- git push -u 원격저장소주소 브런치명 ( 브런치에있는 커밋된 내용들이 원격저장소 이동)
-u : 원격저장소 기억
- git remote add 변수명 변수값
- git clone 저장소주소
- git pull ( git fetch + git merge )
- git stash (임시 저장 용도로 사용)
- git stash save '메모'
- git stash list
- git stash pop (가장 최근 것 부터)
- git stash drop (index)
- git stash clear
Git Flow

Git 전략
- gitFlow
1. main
2. develop
3. feature
4. release
5. hotfix
- trunk-based