.gitignore 파일 생성
touch .gitignore
수정
vim .gitignore
i 수정 시작
esc -> :wq 나가기
>.metadata/
Servers/
*.class
*.classpath
/target/
/bin/
.DS_Store
(프로젝트 중간에 .gitignore 적용)
아래의 git 명령들을 실행해주면 .gitignore의 파일들이 적용되어 원격 저장소에서 사라진다.
$ git rm -r --cached .
$ git add .
$ git commit -m "Apply .gitignore"
$ git push
로컬 브랜치 삭제
git branch -D 로컬 브랜치 이름
원격 브랜치 삭제
git push origin --delete 원격 브랜치 이름
git push origin :원격 브랜치 이름
기능
"Feat: 새로운 기능 추가"
"Fix: 버그를 고친 경우"
"Design: CSS 등 사용자 UI 디자인 변경"
"!BREAKING CHANGE: 커다란 API 변경의 경우"
"!HOTFIX: 급하게 치명적인 버그를 고쳐야하는 경우"
"Style: 코드 포맷 변경, 세미 콜론 누락, 코드 수정이 없는 경우"
"Refactor: 프로덕션 코드 리팩토링"
"Comment: 필요한 주석 추가 및 변경"
"Docs: 문서를 수정한 경우"
"Test: 테스트 추가, 테스트 리팩토링(프로덕션 코드 변경 X)"
"Chore: 빌드 태스트 업데이트, 패키지 매니저를 설정하는 경우(프로덕션 코드 변경 X)"
"Rename: 파일 혹은 폴더명을 수정하거나 옮기는 작업만인 경우:
"Remove: 파일을 삭제하는 작업만 수행한 경우"
먼저 커밋 메시지는 크게 제목, 본문, 꼬리말 세 가지 파트로 나누고, 각 파트는 빈줄을 두어서 구분합니다.
type(옵션): [#issueNumber - ]Subject // -> 제목
body(옵션) // -> 본문
footer(옵션) // -> 꼬리말
예시
Feat: "추가 로그인 함수"
로그인 API 개발
Resolves: #123
Ref: #456
Related to: #48, #45
Emoji Description
🎨 코드의 형식 / 구조를 개선 할 때
📰 새 파일을 만들 때
📝 사소한 코드 또는 언어를 변경할 때
🐎 성능을 향상시킬 때
📚 문서를 쓸 때
🐛 버그 reporting할 때, @FIXME 주석 태그 삽입
🚑 버그를 고칠 때
🐧 리눅스에서 무언가를 고칠 때
🍎 Mac OS에서 무언가를 고칠 때
🏁 Windows에서 무언가를 고칠 때
🔥 코드 또는 파일 제거할 때 , @CHANGED주석 태그와 함께
🚜 파일 구조를 변경할 때 . 🎨과 함께 사용
🔨 코드를 리팩토링 할 때
☔️ 테스트를 추가 할 때
🔬 코드 범위를 추가 할 때
💚 CI 빌드를 고칠 때
🔒 보안을 다룰 때
⬆️ 종속성을 업그레이드 할 때
⬇️ 종속성을 다운 그레이드 할 때
⏩ 이전 버전 / 지점에서 기능을 전달할 때
⏪ 최신 버전 / 지점에서 기능을 백 포트 할 때
👕 linter / strict / deprecation 경고를 제거 할 때
💄 UI / style 개선시
♿️ 접근성을 향상시킬 때
🚧 WIP (진행중인 작업)에 커밋, @REVIEW주석 태그와 함께 사용
💎 New Release
🔖 버전 태그
🎉 Initial Commit
🔈 로깅을 추가 할 때
🔇 로깅을 줄일 때
✨ 새로운 기능을 소개 할 때
⚡️ 도입 할 때 이전 버전과 호환되지 않는 특징, @CHANGED주석 태그 사용
💡 새로운 아이디어, @IDEA주석 태그
🚀 배포 / 개발 작업 과 관련된 모든 것
🐘 PostgreSQL 데이터베이스 별 (마이그레이션, 스크립트, 확장 등)
🐬 MySQL 데이터베이스 특정 (마이그레이션, 스크립트, 확장 등)
🍃 MongoDB 데이터베이스 특정 (마이그레이션, 스크립트, 확장 등)
🏦 일반 데이터베이스 별 (마이그레이션, 스크립트, 확장명 등)
🐳 도커 구성
🤝 파일을 병합 할 때