완로그
article thumbnail

⏳ 2023. 4. 24. 19:00 - 22:00

 

git이란?

대부분의 기업에서 선택한 VCS(Version Control System)로 파일의 변화를 추적하고 관리하는 시스템이다.

유지보수성에 큰 도움을 주기 때문에 개발자라면 git을 반드시 활용하자!


github란?

git을 사용하는 프로젝트를 지원하는 웹호스팅 서비스다.

git이랑 github를 헷갈려 말하면 개초보로 보인다고 한다.. 조심~!


git의 특징

  1. 단순한 구조, 빠른 속도
  2. 분산형 저장소 지원
  3. 비선형적(브랜치) 개발 가능

git의 구조

  • Blob : 파일 하나의 내용에 대한 정보
  • Tree : Blob이나 subtree의 메타데이터(디렉토리 위치, 속성, 이름 등)
  • Commit : 커밋 순간의 스냅샷
사진으로 비유하면,

Blob(사진 찍히는 대상) + Tree(사진에 대한 정보(장소, 날짜 등)) -> Commit(사진)

프로세스 흐름과 명령어

git은 코드를 commit 단위로 관리한다.

현재 작업물을 스테이지에 원하는 만큼 add하고, commit하면 커밋한 순간이 로컬 저장소에 기록된다.


⭐️ Conventional Commits ⭐️

https://www.conventionalcommits.org/ko/v1.0.0/

 

Conventional Commits

커밋 메세지에 사용자와 기계 모두가 이해할 수 있는 의미를 부여하기 위한 스펙

www.conventionalcommits.org

  • Commit의 제목은 commit을 설명하는 하나의 구나 절로 완성
  • importanceofcapitalize → Importance of Capitalize
  • prefix!
    • feat: 기능 개발 관련
    • fix: 오류 개선 혹은 버그 패치
    • docs: 문서화 작업
    • test: 테스트 관련
    • conf: 환경설정 관련
    • build: 빌드 관련
    • ci: Continuous Integration 관련

컨벤션을 따른 커밋

설명은 코드를 직접 보지 않아도 대충은 이해할 수 있도록 작성한다. -> 코드 보는 시간을 아낄 수 있다!


README.md

프로젝트와 저장소를 설명하는 문서로 책의 표지라고 할 수 있다.

마크다운 문법으로 작성한다.

좋은 프로젝트도 설명을 잘 해야 좋은 프로젝트다. 잘 쓰자!


.gitignore

git이 파일을 추적할 때, 어떤 파일이나 폴더 등을 추적하지 않도록 명시하기 위해 작성한다.

https://www.toptal.com/developers/gitignore

 

gitignore.io

Create useful .gitignore files for your project

www.toptal.com


LICENSE

솔직히 아직 라이센스 부분은 잘 모르겠다..

만만한게(다 공짜) MIT라고 하니 이걸로 가보자고 👊

profile

완로그

@완석이

프론트엔드 개발자를 꿈꾸는 완석이의 일기장입니다.