Git의 기본
<시작하기>
버전 관리 시스템 Git(깃)
파일을 편집할 때마다 매번 복사하는 일은 번거롭다.
무작위로 파일 이름을 지은 경우, 어떤 것이 최신 파일인지 알아보기 어렵다.
여러 명이 공유한 파일을 동시에 편집하면 다른 사람의 변경 내용을 지울 위험이 있다.
그렇기 때문에 Git을 사용한다.
Git이란?
소스코드를 효과적으로 관리하기 위해 개발된 ‘분산형 버전 관리 시스템’이다.
소스 코드가 변경된 이력을 쉽게 확인할 수 있고 특정 시점에 저장된 버전과 비교하거나 특정 시점으로 되돌아갈 수 있다.
내가 올리려는 파일과 누군가 편집한 내용이 충동하면 서버에 업로드할 때 경고 메시지가 뜬다.
<이력을 관리하는 저장소>
Git 저장소의 장점 중 하나는 파일이 변경 이력 별로 구분되어 저장한다는 것이다.
비슷한 파일이라도 내용이 달라지면 다른 파일로 인식하기에 파일을 변경 사항 별로 구분해 저장할 수 있다.
*원격 저장소와 로컬 저장소
Git은 원격 저장소와 로컬 저장소를 제공한다.
원격 저장소(Remote Repository) : 파일이 원격 저장소 전용 서버에서 관리되며 여러 사람이 함께 공유하기 위한 저장소
로컬 저장소(Local Repository) : 개인 PC에 파일이 저장되는 개인 전용 저장소
평소에는 로컬 저장소에서 작업하고 작업 내용을 공개하고 싶을 때 원격 저장소에 업로드 한다.(Push)
원격 저장소의 타인의 작업 파일을 로컬 저장소로 가져오는 것도 가능하다.(Pull)
*저장소 만들기
개인 컴퓨터에 로컬 저장소를 만드는 방법
1. 저장소를 새로 만든다
2. 이미 만들어져 있는 원격 저장소를 로컬 저장소로 복사해온다.
<변경을 기록하는 커밋>
파일, 폴더의 추가/변경 사항을 저장소에 기록하려면 ‘커밋’ 버튼을 눌러줘야 한다.
커밋 버튼을 누르면 이전 커밋 상태부터 현재 상태까지 변경 이력이 기록된 커밋이 만들어진다.
커밋은 시간순으로 저장된다. 최근 커밋부터 거슬러 올라가면 과거 변경 이력과 내용을 알 수 있다.
각 커밋에는 40자리 고유 이름(영문/숫자)이 붙는다. 저장소에서 40자리 이름으로 커밋을 구분하고 선택한다.
(tip. 버그 수정, 기능 추가 등 특별한 업데이트를 작업 별로 커밋하면 나중에 변경 내용을 찾아보기 더 수월하다)
커밋을 남길 때는 필수로 커밋 메시지를 입력해야 하며 그렇지 않으면 커밋되지 않는다.
(tip. 권장사항은 이러하다-간단하고 이해하기 쉽게 작성해야 함
1번째 줄 : 커밋 내의 변경 내용을 요약
2번째 줄 : 빈 칸
3번째 줄 : 변경한 이유
)
<작업 트리(Work tree)와 인덱스(Index)>
작업 트리(Work tree) : Git에서 폴더를 가리킴
인덱스(Index) : 커밋을 실행하기 전의 저장소와 작업 트리 사이에 존재하는 공간
Git의 커밋은 작업 트리에 있는 변경 내용을 저장소에 바로 기록하지 않고 그 사이 공간인 인덱스에 파일 상태를 기록(stage, 스테이징)한다. 저장소에 변경 사항을 기록하려면 기록하고자 하는 모든 변경 사항이 인덱스에 존재해야 한다.
인덱스의 가상의 공간이 존재하는 덕에 작업 트리 속 커밋이 필요 없는 파일들을 커밋하지 않을 수 있고 원하는 일부 변경 사항만 인덱스에 등록하여 커밋할 수 있다.
실습
<Git설치>
msysgit설치
오픈소스 Git 클라이언트 ‘TotoiseGit’과 언어팩(Korea)설치
http://code.google.com/p/tortoisegit/
<초기 설정>
이름과 이메일
<새 저장소 만들기>
‘tutorial’(예시) 폴더 만들어서 우클릭하고 [Git 이곳에 저장소를 작성] 클릭
<파일 커밋(Commit)하기>
‘tutorial’ 폴더 안에서 우클릭해서 [Git 커밋]클릭 후, sample.txt 선택해 메시지 입력후 커밋
커밋 이력 확인하려면 우클릭해서 [TortoiseGit]-[로그 표시] 클릭하면 이력 추가되어 있음
'Programming > git' 카테고리의 다른 글
[Git] 변경 이력의 통합 (0) | 2020.07.13 |
---|---|
[Git] 저장소 공유 (0) | 2020.07.13 |