- git init : 현재 위치에 git 지역저장소 생성
- git clone <git_path> : git주소의 코드 현재 폴더에 복사
- git add <file_path> : 수정한 파일을 선택(스테이징)
- git commit : commit을 남김(-m 'msg' : msg를 남김)
- git push <remote_name> <branch_name> : add+commit한 파일을 git서버 저장소에 보내기
- git pull : 서버에서 최신 코드 받아와 merge하기
- git fetch : 서버에서 최신 코드 받아오기
- git switch <branch_name> : 브랜치 선택
- git checkout <branch_name> : 브랜치 선택
- git branch <branch_name> : 브랜치 생성
- git switch -c <branch_name> : 브랜치 생성 및 선택
- git checkout -b <branch_name> : 브랜치 생성 및 선택
- git branch -m <branch_name> <change_name> : 브랜치 이름 바꾸기
- git branch -d <branch_name> : 브랜치 삭제하기
- git branch -D : 병합하지 않은 브랜치를 강제 삭제하는 방법
- git push <remote_name> --delete <branch_name> : 원격 브랜치 삭제하기
- git checkout master(또는 main) : 현재 브랜치를 master(또는 main)로 병합
- git merge <branch_name> : 브랜치를 master(또는 main)로 병합
- git merge --no-ff feature/login
- git branch -v : 브랜치 목록 및 최근 커밋 확인
- git branch -r : 원격 브랜치 목록보기
- git branch -a : 로컬 브랜치 목록보기
- git reset <commit_hash> : 지정한 커밋 해시로 이동하고 커밋을 취소
- git reset HEAD^ # 현재 HEAD의 이전 커밋으로 되돌리기
- git reset HEAD~n # 현재로 부터 n 번째 이전 커밋으로 되돌리기
- git reset --hard HEAD^ : commit한 이전 코드 취소하기
- git reset --soft HEAD^ : 코드는 살리고 commit만 취소하기
- git reset --merge : merge 취소하기
- git reset --hard HEAD && git pull : git 코드 강제로 모두 받아오기
- git stash : 작업코드 임시저장하고 브랜치 바꾸기(save “description”)
- git stash pop : 마지막으로 임시저장한 작업코드 가져오기
- git log : commit 내역 확인(--pretty=oneline : 한줄로 표시)
- git log --branches --graph --decorate : log에 모든 브랜치를 그래프로 표현
- git show <commit_id> : 특정 커밋 확인
- git diff : 최근 버전과 작업 폴더의 수정 파일 사이의 차이를 출력(<last_commit_id> <cur_commit_id> : 두 커밋의 차이를 출력)
- git rebase <branch_name> : 현재 브랜치를 해당 브랜치 아래로 한줄로 정렬되게 함
- git config --global user.name <user_name> : git 계정 Name 변경
- git config --global user.email <user_email> : git 계정 Mail 변경
- git branch --set-upstream-to=<remote_path(또는 <branch_name>)> : git pull no tracking info 에러 수정