용어
기본
용어 | 설명 |
Repository | 프로젝트의 코드와 변경 이력을 저장하는 공간 |
Working Directory | 실제로 파일을 수정하는 공간 (내 컴퓨터의 현재 프로젝트 상태) |
Staging Area | git add로 커밋하기 전에 변경 사항을 저장하는 공간 |
Commit | 특정 시점의 변경 사항을 저장하는 것 (git commit -m "메시지") |
Branch | 독립적으로 작업할 수 있는 코드의 분기 (main, develop, feature/xxx 등) |
Merge | 다른 브랜치의 변경 사항을 현재 브랜치로 합치는 작업 |
Rebase | 브랜치의 시작점을 다른 브랜치의 최신 커밋으로 변경하여 깔끔한 히스토리 유지 |
Remote Repository | GitHub, GitLab, Bitbucket 같은 서버에 저장된 레포지토리 |
Local Repository | 내 컴퓨터에 있는 Git 저장소 |
Git 상태
용어 | 설명 |
Untracked | Git이 관리하지 않는 파일 (git add를 해야 추적됨) |
Modified | Git이 추적 중인 파일이 변경된 상태 (git add 전) |
Staged | git add로 커밋 대기 상태 (git commit 가능) |
Committed | git commit을 해서 변경 사항이 로컬 저장소에 반영된 상태 |
Pushed | git push로 원격 저장소에 업로드된 상태 |
원격 저장소
용어 | 설명 |
origin | 기본 원격 저장소의 이름 (보통 git remote add origin <URL>로 설정) |
upstream | 포크한 저장소의 원본 저장소 (협업할 때 사용) |
fetch | 원격 저장소에서 변경 사항을 가져오지만 병합하지 않음 (git fetch) |
pull | 원격 저장소에서 변경 사항을 가져오고 자동 병합 (git pull) |
push | 로컬 변경 사항을 원격 저장소에 업로드 (git push origin main) |
명령어
기본
명령어 | 설명 | 예제 |
git init | 현재 디렉토리를 git 저장소로 초기화(시작) | |
git clone <원격 레포지토리 주소> | 원격 저장소를 로컬로 복제 | |
git status | 현재 브랜치 상태 확인 | git status : 변경된 파일 목록들(추적되지 않은 파일 + 추적되고 있는 파일)을 다음과 같이 표시 Untracked files: src/test/testfile1.ts src/hi/hello.ts ... |
git add <파일명> | 특정 파일을 스테이징 영역에 추가 | git add src/test/testfile1.ts : 변경된 파일 중 하나를 선택해 스테이징 영역에 추가 |
git add . | 변경된 모든 파일을 스테이징 영역에 추가 | |
git commit -m "커밋메시지" | 스테이징 변경 사항을 해당 커밋메시지로 커밋 | |
git log | 커밋 기록 확인 | |
git show <커밋ID> | 특정 커밋의 상제 정보 확인 | |
git diff | 변경된 사항 비교 |
브랜치
명령어 | 설명 | 예제 |
git branch | 현재 브랜치 목록 확인 | |
git branch <브랜치명> | 새로운 브랜치 생성 | |
git checkout <브랜치명> | 해당 브랜치로 이동 | |
git switch <브랜치명> | 해당 브랜치로 이동(checkout은 브랜치 이동 이외 기능도 할 수 있어서, 명령어에 대한 역할을 명확하게 하기 위해 브랜치 이동만 실행하는 switch 명령어가 최근 추가됨) | |
git checkout -b <브랜치명> | 브랜치 생성 후 바로 이동 | git checkout -b main origin/main : 원격의 main 브랜치를 로컬 main 브랜치로 가져오고 로컬 main 브랜치로 바로 이동 |
git switch -c <브랜치명> | 브랜치 생성 후 바로 이동 | git switch -c main origin/main : 원격의 main 브랜치를 로컬 main 브랜치로 가져오고 로컬 main 브랜치로 바로 이동 |
git merge <브랜치명> | 현재 브랜치에 지정한 브랜치를 병합 | |
git rebase <브랜치명> | 현재 브랜치를 지정한 브랜치 위로 이동 (히스토리 정리) | |
git branch -d <브랜치명> | 브랜치 삭제 (병합된 경우) | |
git branch -D <브랜치명> |
강제 브랜치 삭제 (병합되지 않아도 삭제) | |
git branch -d/-D <브랜치명1> <브랜치명2> <브랜치명3> | 여러 브랜치 삭제 |
원격 저장소
명령어 | 설명 | 예제 |
git remote -v | 등록된 원격 저장소 확인 | |
git remote add origin <저장소 URL> | 원격 저장소 추가 | |
git push origin <브랜치명> | 원격 저장소에 푸시 | |
git push -u origin <브랜치명> | 최초 푸시 및 추적 설정 | |
git pull origin <브랜치명> | 원격 저장소에서 변경 사항 가져오기 | |
git fetch origin | 원격 저장소의 최신 상태 정보 가져오기 |
'데브옵스 > CI,CD' 카테고리의 다른 글
무중단 배포 구조 설계해보기( 블루 그린, 롤링, 카나리 배포 ) (0) | 2025.01.30 |
---|---|
[Github] Github 사용방법 - 커밋 충돌 (0) | 2025.01.23 |
[Github] Github 사용방법 - 브랜치 전략 (0) | 2025.01.22 |
[Github Actions] 코드 수정,테스트,배포 자동화하는 방법 (0) | 2025.01.18 |
[GitHub] private 레퍼지토리 clone 하기 (0) | 2024.12.31 |