9월 16일 목요일
📘 알게된 것
1. git commit --amend로 커밋 수정하기
- 현재 커밋 (HEAD가 가리키는 커밋) 수정할 때 사용
- 커밋 메시지 오타 수정
- 이전 커밋의 파일 내용을 수정하고 싶을 때
- 빠트린 중요한 파일을 다시 추가하여 커밋하고 싶을 때 등등
중요한 점은 -amend를 통해서 커밋을 수정하고 나면 커밋 해시 체크섬 값이 바뀐다는 것이다. 그냥 똑같은 커밋 해시를 가지는 줄 알았는데... 아니었음.
커밋도 immutable한 속성을 가진다고 보면 될 것 같다.
제일 주의할 점은 이미 remote에 올라간 커밋을 수정하면 곤란하다는 것이다.
밑은 직접 해본 예시!
커밋하고 이미 push해서 remote에 올린 상태에서 진행했다.
commit --amend 전
commit aeb20b455da1f92b3e05e0c6f166c44da2ba573f (HEAD -> main, origin/main)
Author: YoujinCha <67622600[email protected]>
Date: Fri Sep 17 00:10:53 2021 +0900
page test
git commit --amend -m "Commit -amend test" 이후 (page test 커밋 메시지가 Commit amend test 커밋으로 바뀜)
commit 3120947e68d7565c7b0434f40a791a74662d9069 (HEAD -> main)
Author: YoujinCha <67622600[email protected]>
Date: Fri Sep 17 00:10:53 2021 +0900
Commit amend test
커밋 해시가 바뀌었을 뿐 아니라, HEAD가 가리키고 있던 것이 main과 origin/main 이었는데 그냥 main으로만 바뀌었다. origin과 local/main 브랜치의 커밋이 서로 달라진 것이다. 즉, 이 상태에서 push를 하면 push가 안 먹힌다. -f
option으로 강제 푸시 해주는 수밖에 없는데, 아무래도 강제 푸시는 좀 무서운 편... 나중에 어떻게 꼬일지 몰라서 더 무서운 것 같다.
암튼 가장 최신의 커밋 메시지를 수정할 때나, 빠진 파일이 있어서 add .
명령어 후 git commit --amend
한다거나 할 때 쓰인다. 다만 수정이라고는 말하지만 실제로는 새로운 커밋을 만드는거라는 점 기억!!
그리고 깃헙 history에서는 이전 커밋은 안보이고 그냥 새로 수정한 커밋만 보인다. 신기.
git은 나 혼자 쓰는거면 뭐 얼레벌레 사용하면 되는데, 이걸로 협업을 하니까 더 무섭다. 아직
까진 remote에 뭔가 치명적인 잘못을 저지른 적은 없지만.. 완벽하게 이해하고 쓰는 게 아니니까 왠지 언젠가 터질 시한폭탄 같은 거지.. ㅎ... 깃이. 싫다. 휴.
2. next.js를 사용하는 이유
오늘 next.js learning template을 받아서 조금 만져봤는데, pages 폴더 안에 .js 파일만 만들어주면 라우팅이 알아서 되니까 매우 편리했다. 완전 신세계였다. 편리한 라우팅 외에도 SSR, 확장성 등을 위해 사용한다고 한다.
내일도 마저 튜토리얼을 따라 하고, 레쥬메 메이커 플젝 환경설정 얼른 셋팅해봐야겠다.
Author And Source
이 문제에 관하여(9월 16일 목요일), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ss20141232/9월-16일-목요일저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)