반응형

0. 버전 관리 시스템(VCS - Version Control System

버전 관리: 변경 이력 혹은 수정 내용을 관리하는 것이다.

 

로컬 버전 관리

많은 사람은 버전을 관리하기 위해 디렉토리로 파일을 복사하는 방법을 쓴다(똑똑한 사람이라면 디렉토리 이름에 시간을 넣을 거다). 이 방법은 간단하므로 자주 사용한다. 그렇지만, 정말 뭔가 잘못되기 쉽다. 작업하던 디렉토리를 지워버리거나, 실수로 파일을 잘못 고칠 수도 있고, 잘못 복사할 수도 있다.

=> 버전 관리 시스템이 필요

 

버전 관리 시스템(VCS - Version Control System

버전 관리 시스템은 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다.

중앙집중식 버전 관리 시스템(CVCS), 분산 버전 관리 시스템(DVCS)

 

 

어떤 프로그램을 만들 때 버전을 관리가 필요하고 이 때, 필요한 것이 버전 관리 프로그램 하나인 git이다.

 

1. Git 기초

git의 저장방식, 스냅샷

왼쪽은 기존의 시스템, 오른쪽은 git의 저장방식

git의 데이터 추가 방식

사진 출처: https://pismute.github.io/whygitisbetter/

commit

좋은 git 커밋 메시지가 필요한 이유:

1. 커밋 로그 가독성, 2. 협업과 리뷰 프로세스, 3. 쉬운 코드 유지보수

 

좋은 Git 커밋 메시지의 7가지 규칙

  1. 제목과 본문을 한 줄 띄워 분리하기
  2. 제목은 영문 기준 50자 이내로
  3. 제목 첫 글자를 대문자로
  4. 제목 끝에 . 금지
  5. 제목은 명령조로
  6. Github - 제목(이나 본문)에 이슈 번호 붙이기
  7. 본문은 영문 기준 72자마다 줄 바꾸기
  8. 본문은 어떻게보다 무엇을, 왜에 맞춰 작성하기

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)하여 서로 다른 위치에 있는 여러 사용자가 협업할 수 있다.

https://github.com/

 

GitHub: Let’s build from here

GitHub is where over 94 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat...

github.com

 

+ Git에 대한 심화적인 이론을 공부하고 싶다면 아래의 참고자료를 참고하시기 바랍니다.

참고자료: https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-%EB%B2%84%EC%A0%84-%EA%B4%80%EB%A6%AC%EB%9E%80%3F

반응형

+ Recent posts