저장소 생성(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 등)에서 삭제된 브랜치가 로컬의 원격 브랜치 목록에 남아 있는 경우, 이를 자동으로 제거