checkout (다른 브랜치로 이동)
옵션: -b (브랜치를 생성하고 해당 브랜치로 즉시 checkout)
아래 두 명령은 같음
git co -b develop
git br develop
git co develop
팁, 커밋의 해쉬값을 이용해 해당 분기로 checkout 가능
HEAD
- 지금 작업하는 로컬 브랜치를 가리키는 포인터
- 현재 브랜치 마지막 커밋의 스냅샷
- branch를 변경하면 해당 브랜치의 마지막을 가리키고 있음
- HEAD를 움직이면서 여러 버전의 코드들을 볼 수 있음
branch
- 커밋 사이를 가볍게 이동할 수 있는 어떤 포인터 같은 것
- 하나의 작업 공간 단위 정도로 생각
- 브랜치 확인: git branch // -r을 붙이면 리모트 브랜치
- 브랜치 생성: git branch [브랜치명]
- 브랜치 삭제: git branch -D [브랜치명]
로컬, 리모트 brnach 삭제
로컬브랜치 삭제
git branch -D [브랜치명]
리모트 브랜치 삭제
git push origin --delete [리모트 브랜치명]
로컬환경 브랜치 새로고침(로컬, 리모트)
git fetch -p
push
- 로컬 브랜치의 정보를 원격 저장소로 업로드
- Clone 한 리모트 저장소에 쓰기 권한이 있어야 함
- 같은 브랜치로 여러명이 받아서 누군가 push를 했다면 나는 push 안됨
- 다른 사람이 작업한 것을 가져와서 합친 후에 (Merge or Rebase) Push 할 수 있음
git push [origin] [master]
push 옵션
--force (-f)
- 내 로컬 브랜치로 원격 브랜치를 덮어 씌워버림
pull, fetch
- Clone 한 서버에서 데이터를 가져오고, 그 데이터를 자동으로 현재 작업하는 코드와 Merge
- fetch: 서버에서 데이터만 가져오고 자동으로 코드를 합치지는 않음
git pull