GUI 다운로드

Xcode 프로젝트에 Repo 생성 후 Github에 연결

  1. Xcode에서 샘플 프로젝트 생성 후 IntegrateNew Git RepositoryCreate

    스크린샷 2024-01-04 오후 10.36.47.png

    스크린샷 2024-01-04 오후 10.36.53.png

  2. 좌측 상단에 Source Control navigator 클릭 → RemoteNew “{프로젝트 명}” Remote..


Branch 생성 후 커밋 기록

  1. Main을 기준으로 New Branch from “Main” 클릭

    스크린샷 2024-01-04 오후 10.58.38.png

  2. feature/ {브랜치명} 입력

    1. //Test Code 입력 후 커밋(test branch의 첫 변경 이력)

      스크린샷 2024-01-04 오후 11.30.44.png


Main branch에 커밋 추가

  1. 본격 브랜치 망치기 시작, Main으로 switch 후 커밋 추가(2개 정도 진행)

    스크린샷 2024-01-04 오후 11.40.54.png

    스크린샷 2024-01-04 오후 11.41.14.png

    스크린샷 2024-01-04 오후 11.41.49.png

  2. Fork(GUI)에서 그래프 확인

    스크린샷 2024-01-04 오후 11.58.07.png

    1. merge 시 커밋 그래프 확인

      • 우선 바로 merge 시켜 보겠다.

      • 지금은 브랜치의 숫자가 적어서 지저분해 보이지 않으나…

        스크린샷 2024-01-05 오전 12.13.00.png

      • 나중에는 이렇게 된다. ?@?

        Screenshot-131.png

      • 따라서, 커밋 이력을 말끔하게 정리하기 위해 rebase를 이용한다.

      • rebase란 ‘branch의 base를 main으로 다시 다시 조정한다는 의미’이다.

      • 이를 통해 선형적인 commit history를 관리할 수 있다.

      1. rebase 실행
        • Test branch의 커밋 이력이 Main의 커밋 히스토리(ef30c31)로 base를 잡은 것을 알 수 있다.

          스크린샷 2024-01-05 오전 12.31.54.png

        • 이후 Test 브랜치를 삭제하면 깔끔하게 Main 브랜치의 커밋 히스토리를 관리할 수 있다.


      요약

      • Xcode는 간단하게 Commit 찍는 용도로 사용한다.
      • 히스토리 확인, Checkout, Pull, Push 등의 기능은 Fork(GUI)를 활용한다.
        • Xcode의 경우 그래프를 확인할 수 없으며, 변경 사항에 대한 히스토리 업데이트 또한 즉각적이지 않다.(예를 들어, 방금 찍은 Commit을 확인하기 위해 히스토리를 보아도 방금 찍은 커밋은 없고 껐켰 한번 해야지 반영된다.)
      • A를 B에 Rebase한다는 의미는 B의 마지막 커밋을 Base로 한 후 브랜치를 병합하는 것이다.
      • 커밋 히스토리를 선형적으로 깔끔하게 관리하는데 그 목적이 있다.