[git] git, 레파지토리 생성, 커밋, 브랜치, 머지
Git
- 버전관리시스템이라고 한다.
- 변경된 이력확인, 특점시점의 파일확인, 되돌리기 등 제공
Repository
- 저장할 파일을 관리할 공간
- 파일 / 폴더의 저장 공간. 파일이 변경 이력 별로 구분되어 저장됨
Git은 분산형버전관리시스템이라고 한다.
--> 로컬과 원격 분산하여 저장하기 때문
원격 저장소(Remote Repository)
- 원격 서버에서 관리되며 여러 사람이 공유하기 위한 저장소
로컬 저장소(Local Repository)
- 내 PC에서 관리하는 개인 전용 저장소
1. 레파지토리 생성(Git Bash)
git_test1파일을 깃로컬저장소를 만들려면 해당 파일 내에서 -> 우클릭 Git Bash -> git init 입력 -> .git생성
==>깃 로컬레파지토리/저장소가 되었다.
2. 위 git_test1파일을 testSorceTree에 불러오기
상단 Add -> 탐색 -> git_test1 파일선택 -> Git저장소 입니다. 확인!
3. 레파지토리 생성(SorceTree)
상단 Create -> 탐색 -> git_test2생성 -> 폴더선택 -> 생성
4. 작성된 파일 커밋
- git_test1에 작성된 파일 2개(프로젝트 기본)(메인 기능)은 자동으로 스테이지에 올라가지 않은 파일에 올라가있다.
(커밋되지 않은 변경사항)
- 파일을 선택(프로젝트 기본)하여 스테이지에 올림(선택적으로 커밋이 가능하다!)
왼쪽 상단 커밋 -> 스테이지에 올렸던 파일 커밋된다. -> 아래쪽 커밋 메세지 작성(회사마다 작성법이 있음)
-> 우측아래 커밋
==> History에 기록이 생김(시간순)
브랜치(Branch)
- 저장소 내에서 다른 작업에 영향을 받지 않는 독립된 작업 단위 저장소
- Branch생성
board(게시판 기능) 브렌치 생성
git_test1에 (게시판 기능) 파일생성 -> board브렌치에 커밋 -> master브렌치 체크아웃
==> git_test1에 (게시판 기능) 파일이 확인이 안됨
==> 각각의 브렌치는 서로 독립적임
대부분 master는 최종본
작업은 브렌치를 따서 브렌치에서 작업 후 master로 합쳐준다 ==> 병합
- 병합(marge)
board (게시판 기능) 구현완료 후 master로 병합시켜준다.
master로 체크아웃 -> borad 우클릭 -> 현재 브런치로 병합
- 특정 시점에서 브렌치 생성
master 체크아웃 -> 브랜치 -> (notice)(공지사항 기능) -> 명시된 커밋 (메인 기능, 프로젝트 기본)
(notice)(공지사항 기능)와 board (게시판 기능) 다른 가지로 뻗어 있는 것을 확인 할 수 있음
(notice)(공지사항 기능) 를 master로 병합