곧 잊어! SourceTree를 사용한 리베이스 및 스쿼시 절차

1984 단어 SourceTree
Git 조작을 GUI로 실시할 수 있다.
이것 덕분에 터미널 공포증 디자이너에게도 Git에서 파일 변경을 관리할 수 있게 되어 디자이너와의 제휴가 매우 쉬워졌습니다.
이제 이것 없이는 개발하고 싶지 않다고 생각할 정도로 편리합니다.

하지만 SourceTree의 일부 기능은 아첨에도 직관적이라고는 할 수 없고, 잘못된 조작을 유발할 위험성을 느끼고 있습니다. 나도 빠져서 상당히 힘든 눈을 만났습니다.

내가, 그리고 나 같은 쪽이 같은 실수를 두지 않게, 여기에 빠질 것 같은 SourceTree 조작을 기록해 둡니다.

리베이스 절차



예를 들어, develop 브랜치에서 분기된 feature/hoge 브랜치로 작업하는 도중에, 다른 개발자의 커밋이 develop 브랜치에 병합되었을 경우, 나중에 큰 충돌이 발생하는 것이 무서워서, 빨리 develop의 선두 리베이스하고 싶습니다.
이런 경우에는 다음의 순서로 작업합니다.

  • feature/hoge 브랜치를 더블 클릭하여 체크아웃합니다.
  • 그래프에서 develop 브랜치의 팁을 마우스 오른쪽 버튼으로 클릭하고 Rebase를 클릭합니다.
  • 충돌이 발생하지 않으면 이것으로 끝.
  • 충돌이 발생하면 사이드바에서 작업 복사를 클릭하여 충돌하는 파일을 확인하고 편집기에서 충돌을 해결합니다.
  • 작업 트리의 파일 목록에서 충돌을 해결한 파일을 마우스 오른쪽 단추로 클릭하고 충돌 해결 -> 해결을 클릭합니다.
  • 메뉴에서 [작업]->[리베이스 계속]을 클릭합니다.
  • 만약 충돌이 발생하면, 4~6의 작업을 반복한다.

  • 특히 5단계 후에 커밋 메시지를 입력하고 커밋해 버리는 실수를 범하기 쉽기 때문에 주의가 필요합니다.

    스쿼시 절차



    예를 들어 master 브랜치에서 분기한 feature/hoge 브랜치로 작업을 진행하는 동안 다음과 같이 부끄러운 커밋 메시지와 쓸데없는 커밋이 축적되었다고 합니다.
    SourceTree
    이대로 master에 병합하는 것은 마즈이군요.
    더러운 커밋 이력을 정리하여 하나의 깨끗한 커밋으로 다시 쓰고 싶은 경우에는 다음과 같이 합니다.

  • feature/hoge 브랜치를 더블 클릭하여 체크아웃합니다.
  • 그래프상에서 브랜치의 분기원(이 예라면 facea0b)을 오른쪽 클릭하고, 「xxxxxx의 아이를 대화형식으로 리베이스」를 클릭.
  • 대화상자에서 맨 위 커밋을 선택한 상태에서 과거를 포함한 squash를 클릭합니다. 클릭 할 때마다 하나씩 과거 커밋이 스쿼시 대상에 추가되므로 다음과 같이 모든 커밋이 스쿼시 대상이 될 때까지 클릭합니다.


  • 메시지 편집을 클릭하고 커밋 메시지를 입력합니다.

  • OK 버튼을 눌러 완료.

  • 그러면 다음과 같은 깨끗한 역사로 바뀝니다.

    좋은 웹페이지 즐겨찾기