깃 쓰면서 커밋 메시지 예쁘게 적자 하면서 맨날 규칙을 까먹는다. 이 바보같은 놈...
Commit message
타입: 메시지
로만 생각하자.
타입의 종류로는 다음과 같다.
- feat : 새로운 기능 추가, 기존의 기능을 요구 사항에 맞추어 수정
- fix : 기능에 대한 버그 수정
- build : 빌드 관련 수정
- chore : 패키지 매니저 수정, 그 외 기타 수정 ex) .gitignore
- ci : CI 관련 설정 수정
- docs : 문서(주석) 수정
- style : 코드 스타일, 포맷팅에 대한 수정
- refactor : 기능의 변화가 아닌 코드 리팩터링 ex) 변수 이름 변경
- test : 테스트 코드 추가/수정
- release : 버전 릴리즈
과거로 돌아가기 - Reset
- 이전의 커밋으로 돌아갈 때 ... 그 이후의 커밋들을 모두 지운다. (다시 미래 시점으로 돌아갈 수 없으니 주의해야 함)
- 소스트리에서는
이 커밋까지 현재 브랜치를 초기화
버튼이다.
git reset 커밋일련번호앞여섯자리 --hard
과거로 돌아가기 - Revert
- 미래는 없애지 않고 과거로 돌아간다.
git revert 커밋일련번호앞여섯자리 --hard
다음 명령어를 누르고 나면 vi가 뜰텐데 :wq
로 저장한다.
그럼 돌아간 시점 뒤에 새로운 커밋 하나를 볼 수 있음.
평행우주 넘나들기 - Branch
- 회사 파일을 건들지 않고 그대로 가져온다.
다른 우주에서 가져오기 - Merge
- master로부터 파생된 새로운 브랜치(가칭으로 my-master라 해보자) 가 업데이트 되었다.
- 해당 브랜치의 내용을 master로 가져온다면?
- master로 checkout한다.
git checkout master
- my-master 브랜치를 머지한다.
git merge my-master
-> 업데이트 내용이 채워져야 하는 브랜치로 체크아웃한 후에 합치려는 브랜치를 머지해야 한다..!
- 양쪽 브랜치에서 서로 수정한 위치가 다르다면 충돌없이 매끄럽게 머지될 것이다.
- 양쪽 브랜치에서 수정한 위치가 똑같아서 충돌이 생긴다면... 잘 보면서 잘 합쳐줘야 한다.
- 그러니까 웬만하면 서로 다른 브랜치에서는 같은 부분을 수정하지 않도록 해야 한다.
다른 우주에서 가져오기 - Rebase
- 브랜치를 병합하면서 git log 트리가 너무 지저분해 보일 때 가지를 하나로 정리해준다는 느낌으로 사용한다.
- 근데 master에 머지가 안돼있는데 rebase했다간 큰일난다. 그냥 날아간다.
브랜치 완전 삭제
git branch -D 삭제할브랜치명
참고
반응형
'Back-up > Git + Github' 카테고리의 다른 글
pull request 날리고 브랜치 처리 (0) | 2023.07.06 |
---|---|
git commit 메시지 작성 시 description 곁들이기 (0) | 2023.07.02 |
깃, 깃허브 제대로 배우기 (0) | 2023.03.23 |
git push한 후 리퍼지토리의 이름을 변경했을 때 (0) | 2019.09.08 |