1. git / branch 상태 확인
git status // 현재 브랜치 상태 확인
git log --oneline --graph // 한줄로 깃 로그 보기
git branch // 브랜치 목록 조회
git branch -r // 원격브랜치 목록 조회
git branch -a // 로컬브랜치 목록 조회
2. branch를 이동할 때
git switch A브랜치 // A브랜치로 이동
3. branch를 새로 만들 때
git switch -c A브랜치 // 새로 A브랜치를 만들고 이동
4. branch의 변경사항을 취소할 때
git restore // 작업 디렉토리의 파일을 이전 커밋의 상태로 복원
git restore . // 변경된 모든 파일을 이전 커밋의 상태로 복원
5. 원격 branch를 로컬로 가져올 때
git switch -c feature origin/feature
// 원격에 있는 origin/feature 브랜치를 가져와서
// 로컬에 새로(-c) feature 브랜치를 만듦
//이미 로컬에 feature 브랜치가 있을 때
git switch feature // feature 브랜치로 이동
git restore . // feature 브랜치 변경내용 취소(이전 커밋으로 되돌림)
git pull origin feature // origin의 feature 브랜치 가져오기
6. 원격 branch의 변경사항을 로컬 branch에 반영할 때
git fetch origin // 원격 저장소의 변경사항을 로컬로 가져옴
// 가져오는 역할만 수행하고 로컬 저장소에 반영하지 않음
원격 branch의 변경사항을 가져왔으면 로컬 브랜치와 병합하는 과정을 진행해야 함
git merge origin/feature // merge를 사용할 때
git pull origin feature // pull을 사용할 때
7. branch와 branch를 합칠 때
git merge --squash a브랜치 // a브랜치를 현재 브랜치와 합침.
// 병합 커밋을 생성하지 않고 작업한 내용을 하나의 커밋으로 합쳐주는 역할
git rebase b브랜치 // b브랜치의 변경사항을 지금 있는 브랜치 맨 위에 추가
// 수정한 브랜치를 현재 브랜치에 업데이트
8. branch를 삭제할 때
// 로컬 브랜치를 삭제할 때
git branch -D a브랜치 // a브랜치를 강제로(-D) 삭제
// 원격 브랜치를 삭제할 때
git push origin --delete a브랜치 // 원격 a브랜치를 삭제
9. 이전 커밋을 취소할 때
// 제일 나중에 올린 커밋이 취소된다
git reset --hard HEAD~1
10. 로컬 브랜치와 연결된 원격 브랜치를 확인하고 싶을 때
git branch -vv