Make Unreal REAL.
article thumbnail
The Ultimate Git Course - with Applications in Unreal Engine

 

 

여러 commit들을 하나로 묶거나 순서를 변경하는 것을 뜻한다.

 

하나의 기능을 구현하는데 여러 개의 commit이 사용된 경우에 이것들을 하나의 큰 변경 사항으로 묶을 수 있다.

 

흔히 Squash라고 알려져 있으나, squash는 사실 Interactive Rebase에서 지원하는 명령어 중 하나이다.

  • pick: commit을 사용
  • reword: commit을 사용하고 commit 메시지 변경
  • squash: commit을 사용하고 이전 commit과 병합

 

위 명령어들을 git-rebase-todo에 적절히 사용하여 commit들을 묶거나 순서를 바꿀 수 있다.

 

Interactive Rebase를 수행하면 commit history가 바뀌기 때문에 누군가 squash에 사용된 변경 사항을 Pull한 적이 있거나, 다른 변경 사항을 Push한 적이 있다면 정상적으로 Merge를 수행할 수 없다.

 

이런 이유로 Remote origin에 Push하기 전, main에 Branch를 병합하기 전에 Interactive Rebase를 수행하는 것이 좋다.

만약 그렇지 않다면 commit history를 덮어쓰는 강제 Push를 수행해야 한다.

 

특히, 협업 중인 main Branch에서는 사용해서는 안 된다.

'Unreal Engine > The Ultimate Git Course in Unreal Engine' 카테고리의 다른 글

Git의 Cherry-pick  (0) 2023.01.20
Git의 Stash  (0) 2023.01.20
SSH  (0) 2023.01.20
Remote와 Local Repository  (0) 2023.01.20
Git의 Rebase  (0) 2023.01.19
profile

Make Unreal REAL.

@diesuki4

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그