본문 바로가기
IT

Git 버전관리

by 이농이능 2018. 6. 1.

버전관리 : 동일한 문서, 소스코드, 바이너리에 대한 여러 버전을 관리하는 것

형상관리 : 소스코드 버전관리 뿐ㅁ나 아니라 개발환경, 빌드 구조 등 전반적인 환경 포함한 환경 포함하는 개념.


버전관리의 필요성

프로젝트 진행 파일 시스템 공유 등으로 무제 발생시 복구하기 위함.

대규모 변경 작업에 대한 안전성 확보 가능


 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