• DVCS
  • snapshot
  • 체크섬(SHA-1)
  • 상태: Committed, Modified, Staged
  • Working Directory, Staging Area, Git Directory
  • config: system, global, local
  • checkout
  • Tracked or UnTracked
    • Tracked: Unmodified, Modified, Staged
  • diff <before> <after>
    • 워킹 디렉토리에 있는 것과 Staging Area에 있는 것을 비교
    • –staged | –cached: 커밋한 것과 Staging Area에 있는 것을 비교
  • rm, mv(mv, git rm, git add)
  • Author, Committer
    • Author: 원래 작업을 수행한 원작자
    • Committer: 마지막으로 이 작업을 적용한(저장소에 포함시킨) 사람.
  • remote: 프로젝트에 등록된 리모트 저장소 확인
    • show
    • add
  • fetch or pull(fetch & merge)
  • git push <branch|tag(or --tags)|src:dst>
    • –delete (리모드 브랜치 삭제)
  • 태그 Lightweight & Annotated
    • Lightweight: 특정 커밋에 대한 포인터
    • Annotated: Git 데이터베이스에 태그를 만든 사람의 이름, 이메일과 태그를 만든 날짜, 그리고 태그 메시지도 저장
    • detached HEAD(태그를 checkout)
  • alias: git config –global alias.<alias(ex: co)> <명령(ex: checkout)>
  • merge:
    • fast-forward
    • 3-way-merge
  • tracking branch, upstream branch(tracking 하는 대상 branch)
    • @{u}
    • branch -vv
    • git checkout -b /
    • git checkout –track /
  • rebase