Index |
1. Git Concept |
2. Git CLI |
3. README.md |
4. Git Commit Message |
5. Markdown |
6. Reference |
1. Git Concept
VCS(Version Control System)
- Centralized Version Control. ex) CVS
- Distributed Version Control. ex) Git, Mercurial
Git은 delta-based(변경된 것만 저장) version control이 아닌 stream of snapshots(프로젝트 전체 저장)
Concept
- Local Repository(Tree): Working Directory + Staging Area + .git Derectory(=Repository)
- - Working Directory: Untracked / Tracked(modified, unmodified), 프로젝트가 위치한 공간, 버전관리 대상이 위치한 공간
- - Staging Area(=index): git add 처리시 올라가는 공간, 다음 버전이 될 후보가 올라가는 공간
- - Repository Directory: git commit 처리시 올라가는 공간 (고유 hash 코드 / message / author / date / time), 버전이 만들어지고 관리되는 공간
- Remote Repository
.git config 파일 구성요소
2. Git CLI
기본 설정
# git config 도움말
git config -h
# git config 내용 확인
git config --list
# 아이디/이메일 설정
git config --global user.name "아이디"
git config --global user.email "이메일@이메일"
# 편집 모드
git config --global -e
git config --global core.editor "code --wait"" # 에디터로 편집 모드 열기
# git config 부가 설정
git config --global core.autocrlf input/true # 저장시 input(\n제거), true(\r제거)
git config --global alias.단축키 명령어 # 단축키 설정
Git 명령어
git init
git add
git commit
git remote
git push
git status
git log --pretty=oneline --graph
git reflog
git reset
git revert
git checkout
git branch
3. README.md
# TITLE
##
##
##
1) 프로젝트 Description
✔ 프로젝트명
✔ 어떤 프로젝트인지 소개
✔ 디렉토리 구조
2) 프로젝트 정보
✔ 설치방법(Getting Started / Installation)
✔ 컴파일 방법, 사용 환경, 브라우저 서포트, 개발스택, 구현 목록(명세)
✔ 간단한 사용 방법 및 예제
3) 프로젝트 결과물
✔ 기능별 사진 / 영상
✔ 코드설명, 후기(짧고 간결하게 써야함, 내용이 길어질 경우 블로그에 작성한뒤 링크로 연결해주는게 좋다)
4) Contribute
✔ 다른 사람들이 코드에 Contribute하기 쉽도록 방법 설명
✔ 어떤 류의 Contribute를 원하는지 또는 Contributing 규칙 등을 적을 수도 있다.
5) LICENSE
✔ 라이선스 : 저작물의 수정 배포에 대한 권한이나 저작권들에 대한 조항들
✔ 보통 MIT License를 많이 사용하고 BSD 라이선스도 많이 사용한다
6) 외부리소스 정보
✔ 프로젝트에 포함된 외부 코드나 리소스 정보(각각의 출처 및 배포 라이선스)
7) Code Status
✔ Shield라는 것을 사용하여 [build | passing]과 같은 정보를 줄 수 있다.
✔ 프로젝트가 커질수록 도움이 되는 부분
4. Git Commit Message
Commit Message
- 버전을 설명하는 메시지
Type: Subject
Body
Footer
1) 커밋 유형 지정
- FEAT : 새로운 기능의 추가
- FIX: 버그 수정
- DOCS: 문서 수정(추가, 수정, 삭제, README)
- REFACTOR: 코드 리펙토링
- STYLE: 스타일 관련 기능(코드 포맷팅, 세미콜론 누락, 코드 자체의 변경이 없는 경우)
- Perf: 성능 개선
- TEST: 테스트 코트, 리펙토링 테스트 코드 추가
- CHORE: 빌드 업무 수정, 패키지 매니저 수정(ex .gitignore 수정 같은 경우)
2) 제목과 본문을 빈행으로 분리
3) Subject 규칙
- 제목 행을 50자로 제한
- 첫 글자는 대문자로 시작
- 마지막 글자는 마침표 및 특수 기호 사용금지
- 제목 행에 명령문을 사용
- 간결하고 요점적으로 서술
- 필요시 이슈 트래킹 번호 추가[#이슈번호]
4) Body 규칙
- 선택사항이지만 최대한 상세히 작성
- 내용은 어떻게 보다는 무엇을 왜 변경했는지 작성
- 각줄의 길이는 72이내로 작성
- 글머리 기호 사용가능(-, *)
5) footer 규칙
- 선택사항이며, 이슈 트래킹을 위해 사용
- "유형:: # 이슈 번호" 형식
- 여러 개의 이슈 번호는 쉼표로 구분
5. Markdown
1) Heading(제목): # ~ ######
2) Line: ---
3) 강조: **bold**, *italic*, ~~strikethrough~~
4) quote: >, >>, >>>
5) list: *, -, 숫자.
6) link: [내용](링크)
7) image: ![내용](링크)
8) Table: |내용|내용|...|, |:--:|(정렬)
9) Code: '한 줄', ''' 여러줄 '''
10) <kbd> ... </kbd>
11) `한줄`, ```diff -삭제 +추가 ```
12) LaTex: $ inline 수식 $, $$ 수식 $$
+) GitHub Flavored Markdown: Task List: - [x] 내용, - [ ] 내용
Reference
(Git && GitHub)
[Docs: Git](https://git-scm.com/docs) |
[Youtube: 드림코딩_깃, 깃허브 배우기](https://www.youtube.com/playlist?list=PLv2d7VI9OotQUUsgcTBHuy5vJkSgzVHL0) |
[Book: 모두의 깃 & 깃허브](https://product.kyobobook.co.kr/detail/S000061450151) |
[Book: 박미정의 깃 & 깃허브 입문](https://product.kyobobook.co.kr/detail/S000001953761) |
[Docs: GitHub](https://docs.github.com/en/get-started/quickstart) |
[Blog: Git 구조와 용어](https://haenny.tistory.com/338) |
(README Template)
[Blog: DomPizzie GitHub](https://gist.github.com/DomPizzie/7a5ff55ffa9081f2de27c315f5018afc) |
[Site: README Template](https://www.readme-templates.com/) |
[Site: Make a README](https://www.makeareadme.com/) |
[Site: readme.so](https://readme.so/) |
[Blog: Bella.log](https://velog.io/@suyeon-hong/github-README-%ED%99%9C%EC%9A%A9%ED%95%98%EA%B8%B0) |
(Commit Message Template)
[Blog: Danny의 iOS 컨닝페이퍼](https://ios-daniel-yang.tistory.com/109) |
[Blog: step By step](https://richone.tistory.com/26) |
[Site: Git Commit Message](https://udacity.github.io/git-styleguide/) |
(Markdown)
[Docs: Markdown Guide](https://www.markdownguide.org/cheat-sheet/) |
Blog: Heropy Tech](https://heropy.blog/2017/09/30/markdown/) |
'Appendix > Git & GitHub' 카테고리의 다른 글
[GitHub] GitHub에서 Blog 만들기 (0) | 2024.01.16 |
---|---|
[Git] Windows에서 GitHub 연동 (0) | 2024.01.13 |
[Git] MacOS(M2)에서 GitHub 연동 (0) | 2024.01.13 |
[GitHub] GitHub 사용법 (0) | 2023.10.15 |
[Git] Git-Flow (0) | 2023.10.15 |