TIL 45일_2차

Moon-Tree·2023년 3월 7일
0

♣ Github

◆ 로컬 저장소 clone하는 방법

Spring Tool Suite4에서 clone 하는 방법

  1. Spring Tool Suite4를 열고, 상단 메뉴바에서 Window -> Show View -> Other...을 선택합니다.
  2. Git 폴더를 확장하고, 'Git Repositories'를 선택합니다.
  3. 'Clone a Git repository' 버튼을 클릭하고, Clone하려는 저장소의 URL을 입력합니다.
  4. 저장소가 로컬 컴퓨터에 Clone되면, 'Git Repositories' 뷰에서 Clone한 저장소를 선택합니다.

◆ Branch 생성

Spring Tool Suite4에서 branch 생성 하는 방법

  1. Spring Tool Suite4를 열고, Branches 아이콘을 클릭하여 브랜치를 확인합니다.
  2. Local폴더 에서 main을 우클릭 -> Create Branch 버튼을 클릭합니다.
  3. 새 브랜치의 이름을 입력하고, Base Branch를 선택합니다.
  4. Checkout new branch 체크박스를 선택하고, Finish 버튼을 클릭합니다.

◆ PR(Pull Request)시 충돌 문제

Spring Tool Suite4에서 해결 방법

  1. Spring Tool Suite4에서 'Git Repository'를 열고, 병합하려는 브랜치를 선택합니다.
  2. 상단 메뉴바에서 Team -> Merge Tool을 선택합니다.
  3. Merge Tool에서 충돌이 발생한 파일을 선택합니다.
  4. 충돌이 발생한 부분을 수정합니다.
  5. 수정한 내용을 스테이징하고, 커밋합니다.
  6. 원격 저장소에 Push합니다.

충돌이 발생한 파일을 Merge Tool에서 선택한 후, Merge Tool의 화면에서 충돌이 발생한 부분을 수정할 수 있습니다. 수정한 내용을 스테이징하고 커밋한 후, 원격 저장소에 Push하여 업데이트합니다.

만약 충돌을 해결한 후에도 PR을 원치 않는 경우, 충돌 해결 후 원하는 브랜치로 checkout하여 작업을 계속 진행하면 됩니다.

◆ PR(Pull Request)를 생성하는 방법

  1. GitHub 사이트에서 해당 레포지토리로 이동합니다.
  2. 레포지토리 페이지에서 "Pull Requests" 탭을 클릭합니다.
  3. "New Pull Request" 버튼을 클릭합니다.
  4. 비교할 브랜치를 선택합니다. (e.g. base: master <- compare: feature_branch)
  5. PR 내용을 작성합니다. PR 내용은 변경 사항과 함께 왜 변경 사항이 필요한지 설명하는 것이 좋습니다.
  6. PR을 제출합니다.

이제 PR을 제출하면 프로젝트의 다른 참여자들이 변경 사항을 확인하고 코드 리뷰를 진행할 수 있습니다. 코드 리뷰는 다른 개발자들이 변경 사항을 검토하여 코드 품질을 향상시키고, 버그를 찾아 수정하는 등의 작업을 수행하는 것을 의미합니다.

코드 리뷰가 완료되면, PR을 승인하고 병합을 진행할 수 있습니다. 이때, 충돌이 발생하면 충돌을 해결하고 다시 PR을 생성해야 합니다.

◆ Branch 삭제

Spring Tool Suite 4에서 브랜치를 삭제하는 방법

  1. 삭제할 브랜치가 현재 체크아웃된 브랜치가 아닌지 확인합니다. 만약 체크아웃된 브랜치를 삭제하려면 다른 브랜치를 먼저 체크아웃해야 합니다.
  2. Package Explorer에서 삭제할 브랜치가 속한 Git 저장소를 선택합니다.
  3. 마우스 오른쪽 버튼을 클릭하여 "Team" 메뉴에서 "Switch To"를 선택합니다.
  4. "Git Repositories" 창에서 "Branches" 항목을 클릭합니다.
  5. 삭제할 브랜치를 선택합니다.
  6. 마우스 오른쪽 버튼을 클릭하여 "Delete"를 선택합니다.
  7. "Delete Branch" 대화상자가 나타나면, "Delete branch locally" 옵션을 선택하고 "Delete Branch" 버튼을 클릭합니다.

이제 선택한 브랜치가 로컬 저장소에서 삭제됩니다. 이후에는 삭제된 브랜치에서 생성된 커밋을 참조하는 브랜치가 있는 경우 이전 커밋이 손실될 수 있으므로, 이에 대한 주의가 필요합니다.


◆ Branch를 삭제하는 이유

PR을 승인하고 병합이 완료된 후, 해당 브랜치를 삭제하는 것은 일반적인 방법입니다. 기존의 브랜치를 삭제하고 새로운 브랜치를 만드는 이유는, 이미 병합된 브랜치를 계속해서 유지하면 코드 저장소가 복잡해지고 관리하기 어려워지기 때문입니다.

하지만, 새로운 브랜치를 만들어야 하는 경우는 상황에 따라 다를 수 있습니다. 예를 들어, 이전 브랜치의 변경 사항이 아직 필요하거나, 새로운 기능 개발을 위해 이전 브랜치를 기반으로 작업을 이어가는 경우 등입니다.

따라서, PR을 병합한 후에는 기존 브랜치를 삭제할 것을 권장합니다. 브랜치를 삭제하려면, 로컬 저장소에서 해당 브랜치를 삭제한 후, 원격 저장소에서도 브랜치를 삭제해야 합니다.

◆ Branch 삭제를 하지 않는 경우

이전 브랜치의 변경 사항이 필요하거나, 새로운 기능 개발을 위해 이전 브랜치를 기반으로 작업을 이어가는 경우, 기존 브랜치를 계속해서 사용할 수 있습니다.

이 경우에는 기존 브랜치에서 작업한 내용을 commit하고 push한 후, 새로운 기능 개발을 위한 추가 작업을 진행하면 됩니다. 그리고 이후에는 변경된 내용을 다시 commit하고 push한 후, GitHub에서 새로운 Pull Request를 생성하여 코드 리뷰를 진행하고 병합을 완료할 수 있습니다.

다만, 이전 브랜치에서 작업한 내용과 새로운 기능 개발을 위한 추가 작업이 서로 충돌하는 경우에는 이전 브랜치에서 작업한 내용과 새로운 작업을 함께 병합해야 합니다.

profile
Backend Developer

0개의 댓글