반응형
0. 버전 관리 시스템(VCS - Version Control System)
버전 관리: 변경 이력 혹은 수정 내용을 관리하는 것이다.
로컬 버전 관리
많은 사람은 버전을 관리하기 위해 디렉토리로 파일을 복사하는 방법을 쓴다(똑똑한 사람이라면 디렉토리 이름에 시간을 넣을 거다). 이 방법은 간단하므로 자주 사용한다. 그렇지만, 정말 뭔가 잘못되기 쉽다. 작업하던 디렉토리를 지워버리거나, 실수로 파일을 잘못 고칠 수도 있고, 잘못 복사할 수도 있다.
=> 버전 관리 시스템이 필요
버전 관리 시스템(VCS - Version Control System)
버전 관리 시스템은 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다.
중앙집중식 버전 관리 시스템(CVCS), 분산 버전 관리 시스템(DVCS)
어떤 프로그램을 만들 때 버전을 관리가 필요하고 이 때, 필요한 것이 버전 관리 프로그램 하나인 git이다.
1. Git 기초
git의 저장방식, 스냅샷
git의 데이터 추가 방식
commit
좋은 git 커밋 메시지가 필요한 이유:
1. 커밋 로그 가독성, 2. 협업과 리뷰 프로세스, 3. 쉬운 코드 유지보수
좋은 Git 커밋 메시지의 7가지 규칙
- 제목과 본문을 한 줄 띄워 분리하기
- 제목은 영문 기준 50자 이내로
- 제목 첫 글자를 대문자로
- 제목 끝에 . 금지
- 제목은 명령조로
- Github - 제목(이나 본문)에 이슈 번호 붙이기
- 본문은 영문 기준 72자마다 줄 바꾸기
- 본문은 어떻게보다 무엇을, 왜에 맞춰 작성하기
Commit Message 구조
type(타입): title(제목)(#이슈번호)
body(본문, 생략 가능)
Resolves : #issue, ...(해결한 이슈 , 생략 가능)
See also : #issue, ...(참고 이슈, 생략 가능)d
타입 종류
- feat : 새로운 기능 추가
- fix : 버그 수정
- docs : 문서 수정
- style : 코드 formatting, 세미콜론(;) 누락, 코드 변경이 없는 경우
- refactor : 코드 리팩터링
- test : 테스트 코드, 리팩터링 테스트 코드 추가(프로덕션 코드 변경 X)
- chore : 빌드 업무 수정, 패키지 매니저 수정(프로덕션 코드 변경 X)
- design : CSS 등 사용자 UI 디자인 변경
- comment : 필요한 주석 추가 및 변경
- rename : 파일 혹은 폴더명을 수정하거나 옮기는 작업만인 경우
- remove : 파일을 삭제하는 작업만 수행한 경우
- !BREAKING CHANGE : 커다란 API 변경의 경우
- !HOTFIX : 급하게 치명적인 버그를 고쳐야 하는 경우
2. Github
Git을 클라우드 방식으로 구현된 버전 관리 시스템
git의 변경사항을 외부 클라우드에 업로드(push)하여 서로 다른 위치에 있는 여러 사용자가 협업할 수 있다.
+ Git에 대한 심화적인 이론을 공부하고 싶다면 아래의 참고자료를 참고하시기 바랍니다.
반응형