저장소 생성(Git init)
로컬 저장소 버전관리를 사용
git init // 또는 DefaultBranch 변경 git config --global init.defaultBranch [기본 브랜치명] //변경 브랜치 확인 git config --get init.defaultBranch
스테이징(Status) 상태확인
변경사항 상태확인 수정이 있을경우 commit하기전 add를 해야 함.
git status
버전 추적(add) 스테이지 올리기
git add [파일명] 또는전체 add [.]
사용자 생성
git config --global user.name [nickName] git config --global user.name [email]
커밋(Commit) – Repository 저장
새로운 버전을 생성하고 추적함.
git commit git commit --help //commit 도움말
git commit -m "커밋 내용" git commit -am "커밋 내용" //add + message 축약형
Git Push – Repository 업로드
git push <저장소명> <브랜치명>
버전확인(log)
정보확인
git log git log [-p] //소스 차이 보기
커밋 되돌리기(reset)
현재 버전 이전으로 되돌리기 이전 버전 이후 삭제 함.
git reset [버전] git reset [버전] [--hard]
커밋 되돌리기(revert)
현재 버전 유지하고 과거 버전을 새로운 버전으로 만듬
git revert
Rebase
// 기본 rebase git pull --rebase // 충돌시 git rebase --continue // master로부터 rebase git pull --rebase origin master
Git기본 명령어
git config –global user.name “Your Name” | Git 사용자 이름 설정 |
git config –global user.email “your.email@example.com” | Git 사용자 이메일 설정 |
git init | 현재 디렉터리를 Git 저장소로 초기화 |
git status | 저장소의 상태 확인 |
git add <파일명> | 특정 파일을 스테이징 영역에 추가 |
git add . | 모든 변경 사항을 추가 |
git commit -m “커밋 메시지” | 스테이징된 변경 사항을 커밋 |
git branch | 현재 브랜치 목록 확인 |
git branch <브랜치명> | 새로운 브랜치를 생성 |
git switch <브랜치명> | 특정 브랜치로 이동 |
git switch -c <브랜치명> | 새로운 브랜치를 생성하고 이동 |
git merge <브랜치명> | 현재 브랜치에 다른 브랜치를 병합 |
git remote add origin <원격저장소URL> | 원격 저장소 연결 |
git push -u origin <브랜치명> | 원격 저장소에 로컬 브랜치를 푸시 |
git pull origin <브랜치명> | 원격 저장소의 변경 사항을 가져와 병합 |
git clone <원격저장소URL> | 원격 저장소를 로컬로 복제 |
git log | 커밋 로그 확인 |
git diff | 변경된 내용 확인 |
git diff –staged |
스테이징된 변경 내용 확인 |
git diff HEAD
|
마지막 커밋과 변경 사항 비교 |
git diff –name-only HEAD
|
변경된 파일 목록만 확인 |
git reset –hard <커밋해시> | 특정 커밋으로 되돌림 |
git revert <커밋해시> | 특정 커밋을 취소하는 새 커밋 생성 특정 커밋을 취소하는 새로운 커밋을 생성하여 되돌림 (기존 커밋을 유지하면서 변경 사항만 되돌림) |
git checkout — <파일명> | 수정한 파일을 마지막 커밋 상태로 되돌림 |
git restore <파일명> git restore . |
수정한 파일을 복구(파일이 속한 전체 경로) 특정 파일의 변경 사항을 되돌려 작업 디렉터리 또는 스테이징 영역에서 복구함 (커밋 이력은 변경되지 않음) |
git restore –staged 파일명 git restore –staged . |
스테이징한 파일을 스테이징 해제하기 (git add 취소) |
git rm <파일명> | Git에서 파일 삭제 |
git stash | 변경 사항을 임시 저장 |
git stash pop | 저장된 변경 사항을 다시 적용 |
git tag <태그명> | 새로운 태그 추가 |
git tag -a <태그명> -m “태그 설명” | 주석 포함 태그 추가 |
git push origin <태그명> | 태그를 원격 저장소에 푸시 |
git cherry-pick <커밋id> | 특정 커밋을 현재 브랜치에 적용 cherry-pick은 특정 커밋만 선택하여 현재 브랜치에 적용하는 Git 명령어 즉, 한 브랜치에서 특정 커밋만 골라서 다른 브랜치에 가져오는 기능 |
git branch -d feature-branch |
병합된 브랜치만 삭제 로컬 브랜치 삭제 (병합된 경우) |
git branch -D feature-branch |
병합 여부 상관없이 삭제(로컬 브랜치 강제 삭제) |
git push origin –delete feature-branch |
원격 브랜치 삭제 |
git fetch –prune
|
원격 저장소(GitHub, GitLab 등)에서 삭제된 브랜치가 로컬의 원격 브랜치 목록에 남아 있는 경우, 이를 자동으로 제거 |
답글 남기기