스타일쉐어(StyleShare) / 조회수 : 6396
안녕하세요. 스타일쉐어 개발팀의 김현준입니다. 훌륭한 엔지니어링 경험을 공유하고 싶어 만든 블로그이지만, 아직까지는 그런 일이 없었던지라, 창피한 장애 경험을 공유하고자 합니다.
배경:
master
를 풀 받아 리로드하는 방식으로 진행하고 있습니다.장애:
원인:
git revert
명령으로 하는 대신에, 이전 커밋으로 HEAD
를 돌리고 git push --force
로 업스트림을 덮어썼습니다.master
를 풀 받자, (개발자의 로컬이나, GitHub에서 보이는 커밋 트리와 달랐기 때문에) 서로 다른 커밋 해시를 가지게 되었습니다.교훈:
force-push
를 (창피한 실수라던지, 지저분한 여러개의 커밋이라던지) 이력을 남기고 싶지 않을 때 사용하는 경우가 있는데요. 이는 위의 사례처럼 해당 커밋을 이미 풀 받은 다른 개발자의 로컬을 꼬이게 하거나, 장애를 유발할 수가 있습니다. 롤백을 하고 싶은 경우엔 revert
명령을, 커밋을 정리하고 싶은 경우엔 각자의 브랜치에서 충분히 rebase
를 한 뒤에 올리는 습관을 꼭 가져야겠습니다.
#스타일쉐어 #개발 #개발자 #개발팀 #인사이트 #후기 #일지
관련 스택