반응형

1. 브랜치 관리

git branch: 현재 저장소의 모든 로컬 브랜치 나열
git branch -av: 모든 브랜치(로컬 및 원격)와 그들의 마지막 커밋 나열
git branch -d [branch name]: 지정된 브랜치 삭제 (변경사항이 머지되지 않은 경우 방지)
git branch -D [branch name]: 머지되지 않은 변경사항이 있어도 지정된 브랜치 강제 삭제
git checkout -b [branch name]: 새 브랜치 생성 및 해당 브랜치로 전환

 

2. 파일 및 커밋 관리

git checkout HEAD -- [file name]: 지정된 파일의 변경 사항을 버리고 마지막 커밋 상태로 되돌림
git checkout -- [file name]: 지정된 파일의 변경 사항을 버리고 마지막 커밋 상태로 되돌림 (HEAD는 선택적)
git add [file name]: 지정된 파일을 스테이징 영역에 추가하여 커밋 준비
git commit -m [commit message]: 스테이징된 변경사항을 제공된 커밋 메시지와 함께 커밋
git commit --amend -m [new commit message]: 가장 최근의 커밋 수정, 새로운 커밋 메시지 적용 또는 스테이징된 변경 사항 커밋에 추가

 

3. 커밋 이력 조회 및 검색

git log: 현재 브랜치의 커밋 기록 표시
git log --oneline: 커밋 ID와 제목만 포함하는 간략한 형태로 커밋 기록 표시
git log --oneline --graph: 커밋 기록의 왼쪽에 텍스트로 된 그래프 표시
git log -p: 각 커밋에 대한 패치 표시
git log --stat: 각 커밋에서 수정된 파일에 대한 통계 표시
git log --author="userid": 특정 사용자가 만든 커밋 표시
git log --grep="bug fix": 커밋 메시지에서 지정된 텍스트 검색

 

4. 리셋 및 복구

git reset: 스테이징 영역을 가장 최근 커밋과 일치하도록 재설정, 작업 디렉토리는 변경하지 않음
git reset --soft [commit]: HEAD를 지정된 커밋으로 이동, 스테이징된 변경사항 유지
git reset --mixed [commit]: 스테이징 영역을 지정된 커밋과 일치하도록 재설정, 작업 디렉토리 변경하지 않음 (기본 모드)
git reset --hard [commit]: 스테이징 영역과 작업 디렉토리를 모두 지정된 커밋과 일치하도록 재설정, 이 커밋 이후에 추적된 파일에서 발생한 모든 변경사항 버림
git reset --hard HEAD~1: 마지막 커밋 취소, 작업 디렉토리의 모든 변경사항 잃음

 

5. 원격 저장소 및 태그 관리

git clone https://github.com/id/project.git : 지정된 URL의 Git 저장소를 현재 디렉토리로 복제 (원격 저장소의 모든 파일, 브랜치, 태그 등을 로컬 시스템에 복사)
git tag 0.0.1: 현재 커밋에 새 태그 생성
git tag -d 0.0.1: 지정된 태그 삭제
git push origin 0.0.1: 지정된 태그(여기서는 0.0.1)를 원격 저장소로 푸시
git push -f origin master: 원격 저장소의 master 브랜치로 강제 푸시 (원격 저장소의 변경 사항 덮어쓸 수 있으므로 주의)

반응형

+ Recent posts