
git. [분산형 버전 관리 시스템]
⭐ 주요 기능
이력 기록 및 추적 | 누가, 언제 어떤 파일을 어떻게 수정했는지 변경 이력을 기록하고 확인 가능 |
원격 저장소 및 공유 | 소스코드를 원격저장소와 지역저장소에 분산하여 저장. → 원격저장소에 문제가 생겨도 지역저장소를 이용해 복원 가능 |
변경 이력 병합 | 동일한 소스코드를 변경했을시 변경내용을 병합하는 기능 |
ℹ️ 버전관리시스템(Version Control System) : 소스코드변경을 관리하고 추적하기 위한 시스템
ℹ️ 깃허브(GitHub) : git으로 관리 되는 프로젝트의 원격저장소 역할을 수행하는 웹호스팅 서비스
⭐ git 소스 관리 흐름

⌨️ git 로컬 저장소 초기화
명령어 | 기능 |
git init | 지역 저장소 생성 |
git config —global user.name “사용자명” | 사용자명 등록 |
git config —global user.email “메일주소” | 사용자 이메일 등록 |
git remote add “식별자” “원격 저장소 주소” | 원격저장소 주소를 지역저장소에 등록 |
⌨️ 추적 변경 관리
명령어 | 기능 |
git add “파일/폴더경로” | 스테이지에 파일 등록 |
git commit | 새로운 커밋 생성 |
git commit —amend —no-edit | 마지막 커밋 수정 |
git push “식별자” “브랜치” | 원격 저장소에 커밋 반영 |
git cloen “원격 저장소 주소” | 원격 저장소 복제 |
git reset “커밋 체크섬” | 특정 커밋으로 최종 커밋을 변경(커밋 제거) |
git revert “커밋 체크섬” | 특정 커밋으로 변경사항을 되돌린 후 새로운 커밋 생성 |
⌨️ 기타
명령어 | 기능 |
git status | 현재 지역저장소의 파일 상태 확인 |
git log (—pretty=oneline —graph) | 커밋 내역 확인 |
브랜치 (Branch)[master 브랜치로 부터 독립적인 작업 공간을 갖는 기능]
서로 다른 버전의 코드를 만들 때 서로의 작업에 영향을 주지 않기 위해 사용
⭐ 브랜치 병합 기준 브랜치에 새로 작업된 브랜치의 커밋 내역을 반영하는 작업
☝️Fast Forward :
Master 브랜치에 변경사항이 없는 경우 작업 브랜치의 새로운 커밋이 Master 브랜치에 새로운 커밋으로 더해짐
☝️Merge Commit :
Master 브랜치에 변경사항이 있는 경우 작업 브랜치의 커밋 내역을 하나의 병합된 커밋으로 묶어서
새로운 커밋으로 더해짐
ℹ️ Conflicts (충돌) : 서로 다른 작업 브랜치에서 동일한 코드를 수정 한 후 병합 할때 발생
⌨️ 브랜치 관리
명령어 | 기능 |
git branch -a | 브랜치 확인 |
git branch “브랜치명” | 브랜치 생성 |
git branch -d “브랜치명” | 지역저장소 브랜치 삭제 |
git push -d “브랜치명” | 원격저장소 브랜치 삭제 |
git checkout “브랜치명” | 현재 작업공간을 해당 브랜치로 변경 |
git merge “브랜치명” | 브랜치 병합 (기준브랜치로 변경 후 진행) |
git pull “식별자” “브랜치명” | 원격 저장소의 브랜치 변경 내역 적용 |
git fetch “식별자” 브랜치명” | 원격 저장소의 브랜치 변경 내역만 가져오기 |
git cherry-pick “커밋 체크섬” | 특정 커밋을 현재 브랜치에 추가 |
git rebase “브랜치명” | 브랜치의 커밋 이력 기준으로 재정렬 |
반응형