Git Commit

똘이주인·2021년 8월 5일
0
  • 작업공간 (working space)

    개인 컴퓨터 환경에서 소스코드를 편집하는 일반적인 프로젝트 폴더를 일컬어 작업공간이라고 한다.

  • 저장소 (저장공간; 레포지토리; repository)

    작업공간을 Git이 제공하는 자료구조 안에 압축시켜 넣은 것이다. 저장소는 로컬 저장소와 원격 저장소로 나뉜다. 일반적으로 저장소라고 하면 로컬 저장소를 가리킨다. git init 명령어로 해당 작업공간의 저장소를 생성하면 작업공간 하위에 .git이라는 이름의 폴더가 생깁니다. 작업공간 안의 .git 폴더가 바로 로컬 Git 저장소다. 이 저장소 안에 모든 커밋들이 들어있다.

  • 원격 (원격 저장소; 리모트 저장소; remote repository)

    저장소가 내 PC의 프로젝트 폴더 안이 아닌 다른 어딘가의 서버에 위치해 있으면 원격 저장소라고 하다. 원격 저장소를 사용하면 여러 사람이 서버에 있는 하나의 저장소를 공유해서 공동으로 작업할 수 있기 때문에 편리하다.

  • 커밋 (commit; 변경사항; 이력; snapshot; 스냅샷)

    (명사) 어떤 순간 작업공간의 상태를 저장한 것이다. 작업공간 안에 있는 모든 파일과 파일의 데이터를 사진 찍듯이 복사해서 저장소에 보존한다. 즉 커밋은 작업공간의 어떤 시점의 스냅샷이라고 할 수 있다.

    (동사) '커밋한다'는 말은 커밋을 추가한다는 뜻입니다. 즉 현재 작업공간의 상태를 커밋으로 만들어서 저장소에 저장한다는 의미.


배경 지식

  1. 깃(Git)

    리눅스 커널을 개발하신 리누스 토발즈가 만든 버전 관리 툴(VCS; Version Control System)이다. (리눅스 토발즈는 리눅스를 오픈소스로 공개하고 개발 관리를 책임졌기 때문에 버전 관리 같은 일에 일가견이 있는 인물이다.) 프로그래머가 작성한 소스 코드를 압축해서 리포지토리에 저장해 둔 다음 변경 이력을 열람하거나 불러올 수 있도록 만든 것이 깃입니다. 리눅스 태생인 만큼 기본적으로 리눅스 기본 쉘(Bash)을 이용해서 깃 명령어를 하나씩 입력하여 실행하는 방법으로 기능을 이용하지만, GUI 툴 등도 존재한다.

  2. 커밋의 대략적 구조

    커밋이란 git commit 명령어로 저장소에 올리는 작업공간의 하나의 변경된 상태이다. 하나의 커밋이 더해질 때는 이전 커밋에서 변경된 사항만 추가하면 될 것이다. 이 때문에 커밋은 서로 연결된 체인 구조를 형성한다. 이 구조에서는 예컨대 이전 커밋이 훼손되면 그 이후 커밋도 망가진다.

0개의 댓글

Powered by GraphCDN, the GraphQL CDN