버전관리 : 동일한 문서, 소스코드, 바이너리에 대한 여러 버전을 관리하는 것
형상관리 : 소스코드 버전관리 뿐ㅁ나 아니라 개발환경, 빌드 구조 등 전반적인 환경 포함한 환경 포함하는 개념.
버전관리의 필요성
프로젝트 진행 시 파일 시스템 공유 등으로 무제 발생시 복구하기 위함.
대규모 변경 작업에 대한 안전성 확보가 가능
◎ Branch
프로젝트 진행 시 개별 작업 진행하기 위한 개념
개별적으로 생성된 브랜치는 완전히 독립적이기 때문에 각각의 개발자에 의한 다양한 작업이 병렬적으로 진행 가능하다.
◎ Merge
독립적으로 개발된 각각의 브랜치는 다른 브랜치와 병합함으로써 신규 내용이 포함된 새로운 버전의 브랜치가 만들어짐.
새로운 브랜치가 생성되어도 이전 버전의 브랜치는 남아있기 때문에 언제든 복구 또는 이동이가능함.
기존의 브랜치에 새로운 기능 합치는 것 = merge
주요용어
- 중앙 저장소(Repository) : 원본 소스 저장하고 있는 저장소
- 작업 디렉토리(Working Directory) : 중앙 저장소로 부터 Check-out을 통해 받는 클라이언트에 있는 작업 디렉토리
- 커밋(Commit) : 작업 디렉토리에서 수정, 추가, 삭제등의 변경사항이 반영된 파일을 중앙 저장소에 적용하는 것.
- 업데이트 (Update) : Check-out된 작업 디렉토리를 중앙 저장소의 가장 최신 커밋된 버전까지 반영하는 것
- 리비전 : 원본 파일을 변경해서 커밋하게 되면 커밋된 횟수에 맞춰 숫자가 증가하며, 중앙 저장소에 저장되어 있는 각각의 파일 버전을 지칭
- 롤백 : 작업 디렉토리에 있는 파일을 특정 시점 또는 특정 버전으로 복원하는 것
Git 기초 및 명령어
git config : 사용자 이름, 이메일등을 포함한 초기 설정 명령어
git init : local working directory 를 git 저장소로 등록( 특정데이터를 깃환경으로 초기화 )
git checkout : DB에 있는 것 가져옴. 파일 또는 브랜치 등을 수정하기 위한 선행작업
git add - 파일을 새로 추적하기
git commit - 변경사항 커밋하기
일을 수정한 후에는 git add
명령을 다시 실행해서 최신 버전을 Staged 상태로 만들어야 합니다
git commit
명령을 실행할 때 -a
옵션을 추가하면 Git은 Tracked 상태의 파일을 자동으로 Staging Area에 넣습니다. 그래서 git add
명령을 실행하는 수고를 덜 수 있을 것입니다.
git rm - 파일을 삭제하기
git push - 변경된 내용 푸쉬(발행)하기
여러분이 뭔가 변경될 때마다 해야 할 일은 간단히 다음과 같을 것입니다.
pull -> commit -> push
출처: http://webclub.tistory.com/317 [Web Club]
이미지 출처 : http://smile2x.tistory.com/entry/git-%EB%AA%85%EB%A0%B9%EC%96%B4-%EB%B0%8F-%EC%9D%B4%EC%9A%A9
크게보기 : http://www.insightbook.co.kr/wp-content/uploads/2013/04/git-%EC%B9%98%ED%8A%B8%EC%8B%9C%ED%8A%B8%ED%94%84%EB%A6%B0%ED%8A%B8.png
이미지 출처 : http://codedragon.tistory.com/4107
'IT' 카테고리의 다른 글
윈도우 서브시스템으로 리눅스 사용 (0) | 2018.12.27 |
---|---|
HTTP 상태코드 정리 (0) | 2018.06.15 |
he size of BLOB/TEXT data inserted in one transaction is greater than 10% of redo log size. Increase the redo log size using innodb_log_file_size (0) | 2018.04.20 |
_mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away') (0) | 2018.04.17 |
[2018_03_27] 찾아본 것 (0) | 2018.03.27 |