소프트웨어의 변경 사항을 관리하기 위한 분산형 버전 관리 시스템

git add)git commit)git add: 파일을 Staging Area에 추가git status: 추적되고 있는 파일들의 상태 확인git commit: Staged 파일들을 담은 커밋 스냅샷 추가--amend: 가장 최근의 커밋을 새 커밋으로 덮어 씀git reset: 이전 커밋 상태로 돌아감--hard: 현재의 변경 사항을 버림--soft: 현재의 변경 사항을 Staged 상태로 남김git rm: 커밋되어 있는 파일 삭제 (실제로도 삭제됨)--cached: Staging Area에서만 제거하고, 실제로는 삭제하지 않음git mv: 간편히 파일 이동git checkout -- <file> or git restore <file>: 파일 변경 사항 복원git clean: 현재의 변경 사항을 모두 버림-x: .gitignore에 등록된 파일마저 삭제함git branch: 브랜치 목록 조회-u: Upstream 브랜치 설정 (원격 저장소의 브랜치를 트래킹)-D: 브랜치 삭제git checkout <branch> or git switch <branch>: 브랜치 스위칭git merge: 현재 브랜치에서 해당 브랜치와 병합 (충돌 시 병합 커밋으로 해결)git log: 현재 브랜치의 커밋 히스토리 조회git stash: 현재의 변경 사항을 임시 저장소에 보관-m: 메시지와 함께 보관list: 스태시된 항목 조회apply: 스태시 항목의 변경 사항을 적용pop: apply와 함께 스태시 항목 제거drop: 스태시 항목 제거git fetch: 현재 브랜치의 Upstream 브랜치 히스토리를 최신 버전으로 갱신--all: 원격 저장소의 모든 Upstream 브랜치를 최신으로 가져옴git pull: git fetch로 최신 커밋들을 가져오고, git merge로 현재 브랜치와 병합-r: merge 대신 rebase 명령을 수행함git push: 원격 저장소의 브랜치로 커밋 업로드--delete <branch>: 원격 저장소의 특정 브랜치 삭제git remote: 원격 저장소 목록 조회add <name> <url>: 원격 저장소 등록git cherry-pick: 다른 브랜치의 커밋 하나를 복사하여 HEAD 위에 추가git rebase <other>: 다른 브랜치의 여러 커밋들을 복사하여 HEAD 위에 추가<branch>: 해당 브랜치로 스위칭하여 수행-i <range>: 히스토리를 대화식으로 자유롭게 수정reword: 커밋 메시지 수정edit: 해당 커밋을 HEAD로 멈춤 (작업 후 --continue)squash: 변경 내용을 직전 커밋으로 통합 (커밋 메시지는 병합)fixup: 변경 내용을 직전 커밋으로 통합 (커밋 메시지 버림)drop: 커밋 제거git revert: 현재 브랜치의 한 커밋을 제거하고, 해당 변경 사항을 커밋Git이 트래킹하지 않는 파일들을 명시하기 위한 파일
git rm --cached로 제거해야 함)git rm --cached -r . ; git add . 명령으로 트래킹 목록을 갱신함Git 저장소 호스팅을 제공하는 웹 사이트
프로젝트 관리자에게 Merge를 요청하는 Contribution 기능
Merge: PR 브랜치의 커밋들과 함께 병합 커밋을 추가함Squash and merge: PR 커밋들을 하나의 커밋으로 통합하여 추가함Rebase and merge: PR 커밋들을 복사하여 rebase 방식으로 추가함