저장소 생성(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 add . // 충돌해결하고 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 merge –no-ff <branch> |
Fast-forward 없이 병합 커밋 생성 (히스토리를 명확히 유지) |
|
git merge –ff-only <branch> |
Fast-forward 병합만 허용, 충돌이나 별도 커밋이 필요한 경우 병합 거부 |
|
git merge –squash <branch> |
브랜치의 모든 커밋을 하나의 커밋으로 압축해서 병합 (히스토리 깔끔) |
|
git merge –abort |
병합 도중 충돌 발생 시, 병합 시도를 취소하고 이전 상태로 복구 |
|
git merge –continue |
충돌 해결 후 병합을 계속 진행 (Git 2.22+ 버전) |
|
git merge –edit |
병합 커밋 메시지를 수정할 수 있도록 에디터 실행 |
|
git merge –no-edit |
병합 시 자동 메시지 사용, 커밋 메시지 입력 생략 |
|
git diff –staged |
스테이징된 변경 내용 확인 |
|
git diff HEAD
|
마지막 커밋과 변경 사항 비교 |
|
git diff –name-only HEAD
|
변경된 파일 목록만 확인 |
| git reset –hard <커밋해시> | 특정 커밋으로 되돌림 |
| git reset –soft HEAD~1 | 바로 커밋한거 취소하기 |
| 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 등)에서 삭제된 브랜치가 로컬의 원격 브랜치 목록에 남아 있는 경우, 이를 자동으로 제거 |
답글 남기기