git init
: 새로운 git 저장소 생성code .
: vscode를 실행git branch -M main
: master branch를 main 으로 이름 변경git config --global user.email
: 이메일 등록git config --global user.name
: 이름 등록git status
: git 상태 확인git add
: 파일 수정 이력 기록(commit 전 단계)git diff
: add되지 않은 이력과 add된 이력의 차이점 확인git log
: commit 이력 확인. 해시코드 확인 가능.git log --oneline --graph --decorate --all -<숫자>
--oneline
: commit 해시와 제목만 나타냄.--graph
: 브랜치 흐름을 그래프로 나타냄--decorate
: 간결하게 표시--all
: HEAD와 관계 없는 모든 브랜치 확인-<숫자>
: commit 이력을 최신 <숫자> 개수만 확인git rm <파일명>
: 로컬&원격 저장소에서 git 파일 삭제git rm --cached <파일명>
: 원격 저장소에서만 파일 삭제git rm -r --cached <폴더명>
: 하위폴더 모두 삭제git rm -r --cached .
: git cache 삭제^<num>
git checkout <브랜치>^
: git checkout <브랜치>^<num>
: ~<num>
git checkout <브랜치> ~<num>
: git checkout <브랜치>^<num>~<num2>
: git merge <브랜치>
: <브랜치>를 현재 Checkout된 브랜치에 합친다.git rebase <브랜치> <옮길 브랜치>
: commit의 순서를 바꿔준다. commit 흐름을 한 줄로 정리할 때 사용된다.feature 브랜치의 작업을 main 브랜치로 통합하는것과
원격저장소에서 push하고 pull하는 작업입니다
git reset HEAD^
: 가장 최근 commit 내역 삭제git reset <커밋 해시>
: commit으로 되돌리기git reset --hard <커밋 해시>
: commit으로 되돌리고, 그 이후의 모든 내용을 지운다.git revert <브랜치>
: 현재 위치 위에 <브랜치>가 새롭게 추가된다.git cherry-pick <커밋 해시1> <커밋 해시1> <...>
: 현재 위치(HEAD) 아래에 <Commit1> <Commit2> <...>
의 복사본을 만든다.git rebase -i <브랜치>
: 현재 위치부터 <브랜치>까지의 commit들을 골라서 복사본을 만든다.git rebase -f <브랜치> <commit>
: 브랜치로 checkout 한 후 commit으로 브랜치 이동한다.git bisect start
: 탐색 시작git bisect bad <커밋 해시>
: 문제있는 commit 기록git bisect good <커밋 해시>
: 문제없는 commit 기록git bisect reset
: 탐색 종료git tag <태그명> <커밋 해시>
: commit에 태그를 붙임git tag
: 태그 확인git show <태그명>
: 태그가 붙은 commit에 대한 정보를 나타냄git tag -d <태그명>
: 태그 삭제git describe <ref>
: ref가 부모 tag와 얼마나 떨어져 있는지 나타냄(ref 값이 없으면 자동으로 HEAD가 위치한 곳을 사용)<tag>_<numCommits>_g<hash>
<tag>
: 가장 가까운 부모 tag를 나타냄<numCommits>
: tag가 몇 commit 떨어져 있는지 나타냄<hash>
: commit의 해시값 git clone <github_URL>
: github에 commit된 소스 다운로드git clone -b [branch_name] [github_URL]
: 특정 브랜치만 clonegit remote update
git checkout -t origin/[브랜치명]
: clone 시 main 브랜치 외에 다른 브랜치 clonegit remote -v
: git에 등록된 원격 저장소 리스트를 확인git remote add origin <github_주소>
: 내 컴퓨터에 있는 로컬 저장소와 원격 저장소(github repository)를 연결git fetch
: 원격 저장소에만 있는 커밋들을 로컬 저장소로 다운로드git pull <원격 저장소 명> <브랜치>
: 원격저장소에서 fetch 후 merge(fetch + merge). 원격저장소와 로컬 저장소의 Commit 이력이 전부 유지된다.git pull origin main
git pull --rebase
: pull과 동시에 commit 이력이 정리된다. 다른 사람의 commit 기록이 삭제되니 주의 필요.git push origin <브랜치>
: 원격 저장소에 업로드하고, 원격 저장소는 갱신됨git commit
: 파일 수정 이력 기록git commit -m <커밋_메세지>
: commit 생성git commit --amend
: commit 메세지 변경git branch
: branch 목록 확인git branch <브랜치>
: branch 생성git checkout -b <브랜치>
: branch 생성과 동시에 이동git checkout <브랜치>
: branch 이동git branch -d <브랜치>
: branch 삭제