내 잡다한 노트

Git을 현업에서 사용할 때 보통 어떤 식으로 이루어질까? 본문

Git

Git을 현업에서 사용할 때 보통 어떤 식으로 이루어질까?

peanutwalnut 2024. 11. 25. 17:41

현업에서 Git은 협업과 코드 관리를 위한 핵심 도구로 사용됩니다. **Git을 사용하는 작업 흐름(Git Workflow)**은 회사의 개발 방식, 팀의 협업 도구, 프로젝트 규모 등에 따라 달라질 수 있지만, 대부분 아래의 단계를 기본으로 구성됩니다.

 

1. 작업 시작 전: 프로젝트 클론

새로운 개발자가 프로젝트에 참여하거나 작업을 시작할 때, 먼저 원격 저장소(Remote Repository)를 로컬로 클론합니다.

이 명령은 저장소를 로컬에 복사하며, 원격 저장소 이름은 기본적으로 origin으로 설정됩니다.

 

 

2. 브랜치 관리

현업에서는 브랜치를 사용하여 여러 개발 작업을 동시에 진행합니다. 대표적인 브랜치 관리 전략은 다음과 같습니다:

(1) Main Branches

  • main 또는 master: 항상 배포 가능한 상태의 코드.
  • develop: 다음 릴리스 개발을 위한 브랜치.

(2) Feature Branches

  • 새로운 기능 개발, 버그 수정, 실험을 위한 브랜치.
  • 브랜치 이름은 팀 컨벤션에 따라 다릅니다.
    • 예: feature/login-page, bugfix/fix-auth-error.

 

3. 작업 브랜치 생성

작업 전, 새로운 브랜치를 생성하여 작업을 분리합니다.

 
git checkout -b feature/login-page
  • 이 명령은 feature/login-page라는 새로운 브랜치를 생성하고 체크아웃합니다.

 

 

4. 코드 작성 및 커밋

작업 후 변경 사항을 확인하고 커밋합니다.

변경 사항 확인

git status

파일 스테이징

변경된 파일을 커밋 전에 스테이징합니다.

git add <file-name>
  • 모든 파일을 스테이징하려면:
     
    git add .

커밋

스테이징된 파일을 커밋합니다.

git commit -m "Add login page"
  • 커밋 메시지 컨벤션:
    • 제목은 명확하고 간결하게.
    • 예: [Feature] Add login page layout.

 

5. 작업 브랜치 Push

원격 저장소로 작업 브랜치를 푸시합니다.

git push origin feature/login-page
  • 원격 저장소에 feature/login-page 브랜치가 생성됩니다.

 

 

6. Pull Request (PR) 또는 Merge Request (MR)

팀원들과 협업하기 위해 작업을 리뷰받는 절차입니다. GitHub, GitLab, Bitbucket 등에서 PR 또는 MR을 생성합니다.

주요 내용:

  • Base Branch: main 또는 develop.
  • Feature Branch: feature/login-page.
  • Description:
    • 작업 목적, 주요 변경 사항, 검토 요청 등을 작성.

코드 리뷰

  • 팀원이 코드 리뷰를 진행하며, 개선점이나 수정 요청을 댓글로 남깁니다.

 

7. Merge

PR/MR이 승인되면 브랜치를 병합합니다.

병합 방식:

  1. Merge Commit:
    • 커밋 기록을 유지하며 병합.
     
    git merge feature/login-page
  2. Rebase:
    • 커밋 기록을 정리하며 병합.
     
    git rebase main
  3. Squash Merge:
    • 여러 커밋을 하나로 합쳐 병합.

 

8. 동기화 및 업데이트

팀원들이 병합한 최신 변경 사항을 로컬에 반영합니다.

최신 코드 가져오기

 
git pull origin main

충돌 해결

병합 또는 리베이스 중 충돌이 발생하면 파일을 수정하고 다시 커밋합니다.

 

 

9. 브랜치 정리

작업이 완료된 브랜치는 삭제하여 저장소를 깔끔하게 유지합니다.

로컬 브랜치 삭제

git branch -d feature/login-page

원격 브랜치 삭제

git push origin --delete feature/login-page

 

 

 

 

'Git' 카테고리의 다른 글

Git switch와 checkout의 차이  (0) 2024.11.25
Git 자주 쓰이는 명령어 정리  (0) 2024.11.25
Git workflow  (0) 2024.11.23
Git 최초 설정 및 저장소 연결  (0) 2024.11.23
[GIT] Pull Request 하기 위한 순서  (1) 2023.11.09