
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 maingit 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 삭제