정의
분산 버전 관리 시스템, 소프트웨어 개발 시 여러 사람이 동시에 작업할 수 있도록 도와주는 도구이다.
코드 변경 사항을 추적하고, 협업할 수 있으며, 버전 관리를 효율적으로 할 수 있다.
주요 용어
- Repository (저장소): 코드와 변경 내역을 저장하는 곳. 로컬 저장소, 원격 저장소(GitHub, GitLab)로 나뉜다.
- Commit: 변경 사항을 저장소에 저장하는 작업이다.
- Branch: 독립적으로 작업을 진행할 수 있는 가지이다.
- Merge (병합): 두 개 이상의 브랜치를 하나로 합치는 작업이다.
- Clone: 원격 저장소의 내용을 로컬 저장소로 복사해 오는 작업이다.
- Pull: 원격 저장소의 변경 사항을 로컬 저장소로 가져오는 작업이다.
- Push: 로컬 저장소의 변경 사항을 원격 저장소로 올리는 작업이다.
- Stash: 현재 작업 중인 변경 사항을 임시로 저장하고, 나중에 다시 적용할 수 있도록 하는 기능이다.
- Remote: 원격 저장소를 가리키는 용어이다.
- Fork: 다른 사람의 원격 저장소를 자신의 원격 저장소로 복사하는 작업이다.
리베이스
베이스를 새롭게 정의한다.
테스트 커밋, 오타가 섞여있는 등등 히스토리를 수정하고자 할 경우 사용한다.
특히 인터럽트 옵션을 사용한다면 대화형 방식으로 사용할 수 있다.
- 수정할 커밋의 직전, 즉 바로 앞 커밋 해시, 아이디, HEAD 를 입력한다.
- 에디터의 내용을 확인하고 적절한 명령어를 통한 수정 작업을 처리한다.
1 |
|