Skip to content
silverain02 edited this page Apr 29, 2025 · 1 revision

주요 Git 명령어 요약

  1. feat: 새로운 기능(Feature)을 추가할 때 사용합니다.
    • 예: feat: 사용자 로그인 기능 추가
  2. fix: 버그 수정 시 사용합니다.
    • 예: fix: 로그인 버그 수정
  3. chore: 코드 변경이지만, 기능이나 버그와 관련 없는 작업(예: 설정 파일 수정, 빌드 프로세스 변경 등)에 사용합니다.
    • 예: chore: ESLint 설정 변경
  4. refactor: 코드 리팩토링을 할 때 사용합니다. 기능의 변화 없이 코드 구조를 개선할 때 사용합니다.
    • 예: refactor: 코드 중복 제거
  5. docs: 문서 관련 변경 사항에 사용합니다.
    • 예: docs: README 업데이트
  6. style: 코드 스타일(포매팅, 공백, 세미콜론 등)의 변경에 사용합니다.
    • 예: style: 불필요한 공백 제거
  7. test: 테스트 코드와 관련된 변경 사항에 사용합니다.
    • 예: test: 유닛 테스트 추가
  8. perf: 성능을 개선한 경우 사용합니다.
    • 예: perf: 쿼리 최적화로 성능 개선

Git WorkFlow

  1. 이슈 생성

    • GitHub에서 직접 이슈 생성 (웹에서 수행)
  2. Feature 브랜치 생성

    git checkout develop
    git checkout -b feature/#123-login-ui-improvement
  3. 커밋 및 이슈 번호 연동

    git add .
    git commit -m "Fixes #123: 로그인 페이지 UI 개선 및 사용자 입력 검증 추가"
  4. PR 생성

    • GitHub에서 직접 PR 생성 (웹에서 수행)
    • PR 제목: Fixes #123: 로그인 페이지 UI 개선
  5. PR 머지 후 이슈 자동 닫기

    • PR에 Fixes #123 포함 시, PR이 머지되면 자동으로 이슈 닫힘

1. 브랜치 생성

git branch feature/이슈번호
  • 브랜치 생성: 이 명령어는 feature/이슈번호라는 이름의 새로운 브랜치를 생성합니다.
    • feature/이슈번호는 일반적으로 이슈 번호를 포함하여 기능 작업을 나타내는 브랜치 명입니다.
    • 예를 들어, 이슈 번호가 #45인 경우 git branch feature/45처럼 사용할 수 있습니다.

2. 브랜치 이동 (체크아웃)

git checkout feature/이슈번호
  • 체크아웃: 생성한 feature/이슈번호 브랜치로 이동합니다.
    • 이 명령어는 작업할 브랜치를 현재 작업 디렉토리로 전환하여, 그 브랜치에서 작업을 수행할 수 있도록 합니다.
    • 이 명령어는 git switch feature/이슈번호로도 사용 가능합니다 (Git 버전에 따라 다름).

3. 코드 변경 후 커밋

git commit -m "#이슈번호 feat : ~~"
  • 커밋: 코드 변경 사항을 커밋합니다.
    • m "#이슈번호 feat : ~~" 부분은 커밋 메시지를 작성하는 부분입니다. 이때 #이슈번호를 포함하여 이 커밋이 어떤 이슈와 관련이 있는지 명확히 합니다.
    • 예를 들어, git commit -m "#45 feat: 로그인 기능 추가"처럼 이슈 번호와 함께 커밋 메시지를 작성하여, 이 커밋이 이슈 #45와 관련된 작업임을 명확히 할 수 있습니다.
    • GitHub에서는 Fixes #이슈번호 또는 Closes #이슈번호 형식으로 작성하면, PR이 병합될 때 이슈가 자동으로 닫힙니다.

4. 원격 브랜치로 푸시

git push -u origin feature/이슈번호
  • 푸시: 로컬에서 작업한 내용을 원격 저장소로 푸시합니다.
    • u origin feature/이슈번호origin (원격 저장소)으로 feature/이슈번호라는 이름의 새로운 브랜치를 푸시합니다.
    • 처음 푸시할 때 u 옵션을 사용하면, 이후로는 git push 명령어만으로도 자동으로 해당 원격 브랜치로 푸시됩니다.

전체 작업 흐름 요약

  1. 이슈 확인: GitHub에서 새로운 이슈를 확인하고, 해당 작업을 시작하기 위해 브랜치를 생성합니다.
  2. 브랜치 생성: git branch feature/이슈번호로 새로운 브랜치를 생성하고, 그 브랜치로 이동하여 작업을 시작합니다.
  3. 커밋: 작업이 완료되면, git commit -m "#이슈번호 feat: 작업 내용" 형식으로 커밋합니다. 이슈 번호를 포함하면 GitHub에서 자동으로 이슈와 연결됩니다.
  4. 푸시: 작업한 내용을 원격 저장소로 푸시하여 PR(Pull Request)을 생성할 준비를 합니다.

추가 설명: Pull Request (PR)

작업이 완료되고 원격 브랜치로 푸시한 후, GitHub에서 **PR(Pull Request)**를 생성하여, 팀원들이 코드를 리뷰하고 해당 브랜치를 병합할 수 있도록 합니다.

  • PR 제목: #이슈번호 기능 추가: 로그인 기능 구현
  • PR 설명: "이 PR은 #이슈번호에서 정의된 기능을 구현한 것입니다."

PR을 생성하면 팀원들이 코드를 리뷰하고, 문제없으면 병합할 수 있습니다. 병합된 후 해당 이슈가 자동으로 닫힙니다.