[ Git ]
- Git : Git이란 소스코드를 효과적으로 관리하기 위해 개발된 분산형 버전 관리 시스템
소스 코드가 변경된 이력을 쉽게 확인할 수 있고, 특정 시점에 저장된 버전과 비교하거나 특정 시점으로 되돌아갈 수 있음
또 내가 올리려는 파일이 누군가 편집한 내용과 충돌한다면, 서버에 업로드 할 때 경고 메시지가 발생
[ 저장소 ]
- 저장소(Git repository) : 파일이나 폴더를 저장해 두는 곳
Git 저장소가 제공하는 좋은 점 중 하나는 파일이 변경 이력 별로 구분되어 저장된다는 점
비슷한 파일이라도 실제 내용 일부 문구가 서로 다르면 다른 파일로 인식하기 때문에 파일을 변경 사항 별로
구분해 저장할 수 있음
Git은 원격 저장소와 로컬 저장소로 나뉘어져 있음
- 원격 저장소(Remote Repository) : 파일이 원격 저장소 전용 서버에서 관리되며 여러 사람이 함께 공유하기 위한 저장소
- 로컬 저장소(Local Repository) : 내 PC에 파일이 저장되는 개인 전용 저장소
평소에는 내 PC의 로컬 저장소에서 작업하다가 작업한 내용을 공개하고 싶을 때에 원격 저장소에 업로드
물론 원격 저장소에서 다른 사람이 작업한 파일을 로컬 저장소로 가져올 수도 있음
내 컴퓨터에 로컬 저장소 만드는 방법은 두 가지
- 아예 저장소를 새로 만들기
- 이미 만들어져 있는 원격 저장소를 로컬 저장소로 복사해 오기
[ 커밋 ]
- 커밋 : 파일 및 폴더의 추가/변경 사항을 저장소에 기록하려면 '커밋'이란 버튼을 눌러줘야 함
커밋 버튼을 누르면 이전 커밋 상태부터 현재 상태까지의 변경 이력이 기록된 커밋(혹은 리비전)이 만들어짐
커밋은 아래 그림처럼 시간순으로 저장
각 커밋에는 영문/숫자로 이루어진 40자리 고유 이름이 붙음
저장소에선 이 40자리 이름을 보고 각 커밋을 구분하고 선택함
버그 수정, 기능 추가 등 특별한 의미가 있는 업데이트를 작업 별로 구분해서 각각 커밋하면,
나중에 이력을 보고 특정 변경 내용을 찾기 쉬움
커밋은 이렇게 이력을 남기는 중요한 작업이기 때문에 커밋 버튼을 누를땐 커밋 메시지를 필수로 입력해야 함
메시지는 명료하고 이해하기 쉽게 남겨야 본인 뿐만 아니라 다른 사람이 커밋 이력을 확인하기 쉽습니다.
Git 에서 권장하는 메시지 형식을 따르는 것도 좋습니다.
1번째 줄 : 커밋 내의 변경 내용을 요약
2번째 줄 : 빈 칸
3번째 줄 : 변경한 이유
주로 위 형식으로 메시지를 작성합니다.
[ 작업 트리와 인덱스 ]
작업 트리(work tree)와 인덱스(index)
- 작업 트리 : 폴더를 Git에서는 작업 트리라고 부름
- 인덱스 : 커밋을 실행하기 전의 저장소와 작업 트리 사이에 존재하는 공간을 인덱스라고 부름
Git의 '커밋' 작업은 '작업 트리'에 있는 변경 내용을 저장소에 바로 기록하는 것이 아니라 그 사이 공간인 '인덱스'에 파일 상태를 기록(stage - 스테이징 한다고 표현하기도 합니다)하게 되어 있음. 따라서 저장소에 변경 사항을 기록하기 위해서는, 기록하고자 하는 모든 변경 사항들이 '인덱스'에 존재해야 함
이렇게 인덱스란 공간(가상이지만)이 중간에 있는 덕분에 작업 트리 안에 있는 커밋이 필요 없는 파일들을
커밋에 포함하지 않을 수 있고, 파일에서 내가 원하는 일부 변경 사항만 인덱스에 등록해 커밋할 수 있음
[ 소스 트리 ]
깃은 명령어를 기반으로 사용할 수 있는 도구. 깃을 통해서 사용할 수 있는 명령어가 무수히 많아,
처음부터 명령어를 암기하여 깃을 사용하려고 하면 힘들 수가 있음.
그렇기 때문에 깃을 조금 더 편하게 사용할 수 있도록 소스 트리가 나오게 됨
- 소스 트리 (source tree) : 버튼을 이용하여 깃을 편하게 쓸 수 있도록 하는 도구.(시각으로 보임)
[ 깃 허브 ]
- 깃 허브(git hub) : 원격 저장소 호스팅 서비스, 요즘에는 개발자들의 SNS로도 사용된다고 함
( 여기서 저장소란 깃으로 관리한 프로젝트를 의미 / 여기서 원격이란 인터넷 상에서를 의미 / 호스팅은 관리를 의미 )
github : https://github.com/dnjfht
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!