Git이란 ?
Git이란 분산형 버전 관리 시스템 VCS(Version Control System) 의 한 종류이다.
Gitd의 장점
- 빠른속도 , 단순한 구조
- 분산형 저장소 지원
- 비선형적 개발 -> branch를 통한 개발이 가능
git Process Flow and Command
Shell 명령어 정리
- ls : 현재 디렉토리의 파일,폴더 list 보기
- pwd : 현재 디렉토리 확인
- cd : 디렉토리 경로 이동
- clear : 커맨드 창 정리/초기화
- cat : 파일 내용 보기
- touch : 파일 생성
- mv : 파일 위치 변경
- cp : 파일 복사
- rm : 파일 제거
- vi : vim 에디터로 파일 확인
깃허브에 파일 저장하기
$ mkdir first-repo && cd first-repo
$ git init
$ git remote add origin https://github.com/{username}/{reponame}.git
$ touch README.md
$ git add README.md
$ git commit -m "docs: Create README.md"
$ git push -u origin master
README.md 수정 후 다시 저장하기
$ git add README.md
$ git commit
$ git push origin master
Commit Convention
- 커밋 제목은 50자 이내로 요약하여 작성한다
- 제목과 내용사이 한 칸(enter)
- prefix를 사용하여 한 눈에 커밋의 용도를 알기 쉽게 한다
prefix의 종류
- feat: features -> 기능 개발 관련
- docs: documentations -> 문서화 작업
- conf: configurations -> 환경설정 관련
- test: test -> test 관련
- fix: bug-fix -> 오류 개선 혹은 버그 패치
- refactor: refactoring -> 리팩토링
- build: Build -> 빌드 관련
- ci: Continuous Integration
- perf: Performance
사용예시
feat: Create server.py to start flask project
docs: Create README.md
conf: poetry init
test: User model CRUD test complete
기억해야 할 점
- commit은 동작 가능한 최소단위로 자주 할 것.
- 해당 작업단위에 수행된 모든 파일 변화가 해당 commit에 포함되어야 함.
- 모두가 이해할 수 있는 log를 작성할 것.
- Open Source Contribution시 영어가 강제되지만, 그렇지 않을 경우 팀 내 사용 언어를 따라 쓸 것.
- 제목은 축약하여 쓰되(50자 이내), 내용은 문장형으로 작성하여 추가설명 할 것.
- 제목과 내용은 한 줄 띄워 분리할 것.
- 내용은 이 commit의 구성과 의도를 충실히 작성할 것.