📌 커밋 메시지 형식
유형 : 제목
본문
꼬리말
😊 커밋 메시지 유형
1. 기능추가
2. 기능삭제
3. 기능변경
4. 버그
5. 리팩토링
6. 형식(코드 형식, 정렬, 주석 등의 변경)
----------------------------------------------- 아래로 코드 수정 없음
7. 테스트
8. 문서
9. 프로젝트
10. 기타
제목은 개조식으로 ex) "기능추가 : 로그 출력 기능 추가"
본문은 최대한 상세히 작성(왜 수정했는지를 중점으로)
제목과 본문은 한 줄 띄워 분리
꼬리말은 이슈 트래커를 작성 ex) 유형:#이슈번호
🎃 이슈 트래커 유형
1. 해결
2. 관련
3. 참고
💛 gitmoji 사용
커밋 메시지에 gitmoji를 써서 타입을 대체하는 것이 더 직관적이고 보기 좋았다.
:sparkles: 로그 출력 기능 추가
gitmoji 사용 예(✨ 로그 출력 기능 추가)
npm i -g gitmoji-cli
CLI에서 gitmoji를 쓸 수 있도록 하기 위해 설치
gitmoji -c
gitmoji 사용
❗ 커밋을 했는데 빼고 싶은 파일이 있을 때
git reset --soft HEAD~1
이전 커밋으로 간다.
git restore --staged 파일경로
파일을 staged 상태에서 unstaged한 상태로 옮긴다.
git reset --soft 커밋아이디
커밋아이디에 git reflog를 통해 조회한 커밋아이디를 넣는다.
돌아가고 싶은 커밋아이디를 넣는다.
이제 하던대로 커밋을 하면된다.
❗원격저장소에 올라간 커밋 제거
로컬저장소에서도 삭제된다.
.git 파일에 다 기록이 되어있어서 원한다면 다시 돌아갈 수 있다.(reset인 이유)
reset 옵션
-soft | add한 상태, staged 상태, 워킹 디렉토리 파일 보존 |
-mixed | add하기 전 상태, unstaged 상태, 워킹 디렉토리 파일 보존 |
-hard | add하기 전 상태, unstaged 상태, 워킹 디렉토리 파일 삭제 |
두 가지 방법이 있다.
1. 위에서부터 n만큼 제거한다.
git reset --hard HEAD~n
2. 해당 커밋 아이디 이전 커밋은 제거
git reset --hard 커밋아이디
* 1, 2번 후 공통
git push -f origin main
push하면 원격저장소에 반영되어 커밋이 제거된다.
💨 위의 활동을 다시 되돌리고 싶을 때(복원)
git reflog
커밋 기록과 활동들을 볼수 있다.
삭제된 커밋 아이디를 몰라도 여기에서 볼수 있다.
git reset --hard commit_id
// git reset --hard HEAD@{숫자}
주석 처리한 부분으로도 실행 가능
아래 영상 참고하면 좋다.
https://www.youtube.com/watch?v=1OihCn5BoT4
👇참고 : https://tttsss77.tistory.com/58
https://djkeh.github.io/articles/How-to-write-a-git-commit-message-kor/
https://tngusmiso.tistory.com/57
https://treasurebear.tistory.com/70
https://computer-science-student.tistory.com/294
https://gmlwjd9405.github.io/2018/05/25/git-add-cancle.html
'git' 카테고리의 다른 글
깃헙 프로필 뱃지 (0) | 2021.06.27 |
---|---|
[Error] error: The following untracked working tree files would be overwritten by checkout:.idea/vcs.xml (0) | 2021.06.17 |
README 작성을 위한 마크다운 언어 (0) | 2021.02.14 |
git push (0) | 2021.02.13 |
GitHub에 공유하기 - Can't finish GitHub sharing process (0) | 2020.12.20 |