저장소 생성/연결/연결 해제
git init
: 원하는 디렉토리에 입력해 해당 디렉토리를 git의 로컬 저장소로 만들기
git remote add origin 원격_리포지토리
: 원격 리포지토리에 해당 로컬 디렉토리를 연결
git remote remove origin 원격_리포지토리
: 연결된 원격 리포지토리의 연결 해제
rm -rf .git
: 깃 파일을 제거함으로써 로컬 저장소화 해제
원격 저장소에 파일 업로드
git status
: 원격 리포지토리와 로컬 리포지토리를 비교해 현재 staged/commit되지 않은 파일들을 확인
git add
: 파일들을 staged상태로 변경
git commit
: staged된 파일들을 commit 상태로 변경
git push
: 커밋된 파일들을 원격 저장소에 업로드
로컬 브랜치 관리
git branch
: 현재 로컬 저장소에 있는 브랜치 목록을 보여줌
-r
플래그로 원격 저장소의 브랜치 목록을 볼 수 있음
-a
플래그로 원격과 로컬 저장소의 브랜치 목록을 모두 볼 수 있음
-m
플래그로 로컬 브랜치의 이름을 바꿀 수 있음
git checkout 브랜치_이름
: 원하는 브랜치로 로컬 저장소를 전환
-b
플래그로 새 로컬 브랜치를 만든 후 전환 가능
git checkout -b 자식_브랜치 부모_브랜치
: 새 자식 브랜치를 부모 브랜치로부터 갈라내 만듬
git branch -d 브랜치_이름
: 로컬 저장소의 브랜치 삭제
git branch -D 브랜치_이름
: 머지 여부와 관계없이 강제 삭제
원격 브랜치 관리
git pull
: 현재 위치하고 있는 원격 브랜치를 업데이트하고 로컬에서 변동 사항을 병합
git push 원격저장소_이름 -d 브랜치_이름
: 원격 저장소의 브랜치 삭제
git remote update
: 모든 원격 브랜치를 업데이트해 최신 상태로 갱신, 변동 사항 미병합
git fetch
: 현재 위치해 있는 원격 브랜치를 업데이트, 변동 사항 미병합
롤백 및 수정
git reset --hard
: (주의)모든 파일의 변경점을 되돌림
git checkout -- 파일이름
: 해당 파일을의 변경점을 되돌림
git reset HEAD
: staged상태의 파일들을 unstaged상태로 해제
- 뒤에 파일 이름을 붙여 특정 파일만 staged상태를 해제할 수 있음
git reset --soft HEAD^
: 커밋을 취소하고 해당 파일들을 staged상태로 유지
git reset --mixed HEAD^
: 커밋을 취소하고 해당 파일들을 unstaged상태로 해제
git reset HEAD^
로 축약해 사용 가능
git reset --hard HEAD^
: 커밋을 취소하고 파일 변경점 모두 삭제
git commit --amend
: 커밋 메시지 수정
임시 저장
stash 명령어
git stash
: 로컬에서 tracked되는 파일들을 스택에 임시로 저장
git stash --include-untracked
: 로컬에서 untracked되는 파일들까지 스택에 임시로 저장
git stash pop
: 스택에 저장되어있던 파일들을 가져오기