【git】그때부터 다시 하고 싶다/지금까지는 없었기로 하고 싶다(최신 master의 상태로부터 과거로 돌아가면서 다른 변경을 반영시킨다)

일부 변경(커밋)만 반영하는 방법



master 브랜치는 최신 기능을 커밋 병합한 상태로, 나머지는 반영할 뿐!
라고 하는 상태로 문언의 변경 대응등이 들어오거나 했을 경우, 곤란합니다(곤란합니다)
그 경우는, 미반영의 기능을 제외한 상태에서 문언 수정 대응을 프로덕션 환경에 반영하지 않으면 안 되므로,
프로덕션 환경의 상태로 거슬러 올라가, 그 지점에서 브랜치를 잘라 대응할 필요가 있으므로 그 방법을 기입해 둡니다.

1. 프로덕션 환경과 동일한 상태의 커밋 번호 확인



↓이런 느낌의 숫자의 열입니다
3w42r42wgd1c51d0142ba23dr8vsiovssle752vsds...

2. 새 리포지토리를 만들고 그 당시 커밋 번호 지정


git checkout -b branch_name [commit-id]

SourceTree의 경우는 「브랜치」를 눌렀을 때에 「지정의 커밋」으로 되돌리고 싶은 커밋 번호를 지정한다.

"지정된 커밋"을 체크하고 "..."를 클릭하면 커밋을 선택할 수 있는 화면이 표시됩니다.

3. 새롭게 사용한 리포지토리에 변경(커밋) 병합



병합

4. 새롭게 빠진 리포지토리를 푸시



푸시하자.
git push Fix-user-name

5. 프로덕션 환경에서 푸시한 리포지토리 체크아웃



원격 리포지토리로 체크 아웃하는 방법
git checkout -b Fix-user-name origin/Fix-user-name

6. 캐시 클리어계의 커맨드를 두드린다



여기가 좋아요


  • 어쩌면이 패턴은 작동 방법이 나쁘다고 생각합니다.

    참고


  • 과거 커밋에서 브런치 만들기 - basyura's blog
  • Git에서 특정 커밋에서 브랜치를 자르고 싶습니다.
  • 좋은 웹페이지 즐겨찾기