커밋되지 않은 변경 사항을 새 Git 분기로 전송

커밋되지 않은 변경 사항을 새 Git 분기로 전송
커밋되지 않은 변경 사항을 새 Git 분기로 전송

커밋되지 않은 작업을 위한 새 브랜치 설정

새로운 기능을 개발할 때 변경 사항이 자체 분기에서 격리되어야 한다는 것을 깨닫는 것이 일반적입니다. 이를 통해 더 나은 조직과 병렬 개발이 가능해집니다. 새로운 기능에 대한 작업을 시작했고 도중에 해당 기능이 별도의 브랜치에 상주해야 한다고 결정한 경우 Git은 이러한 커밋되지 않은 변경 사항을 전송하는 간단한 방법을 제공합니다.

이 글에서는 커밋되지 않은 기존 작업을 새 브랜치로 이동하는 과정을 안내합니다. 또한 진행 상황을 잃지 않고 현재 분기를 재설정하는 방법을 배우게 됩니다. 이를 통해 작업 흐름이 깨끗하고 효율적으로 유지됩니다.

명령 설명
git checkout -b <branch-name> 새 분기를 만들고 해당 분기로 전환합니다.
git add . 작업 디렉터리에 커밋되지 않은 모든 변경 사항을 준비합니다.
git commit -m "message" 설명 메시지를 사용하여 단계적 변경 사항을 커밋합니다.
git checkout - 이전에 체크아웃된 분기로 다시 전환합니다.
git reset --hard HEAD~1 현재 분기를 이전 커밋으로 재설정하고 변경 사항을 삭제합니다.
#!/bin/bash 스크립트가 bash 쉘에서 실행되어야 함을 지정합니다.

커밋되지 않은 작업을 관리하기 위한 Git 워크플로 이해

첫 번째 스크립트 예에서는 일련의 Git 명령을 사용하여 커밋되지 않은 변경 사항을 새 분기로 수동으로 이동합니다. 프로세스는 다음과 같이 시작됩니다. git checkout -b new-feature-branch, "new-feature-branch"라는 새 분기를 생성하고 해당 분기로 전환합니다. 이는 새 기능의 작업을 기본 분기에서 분리하는 데 필수적입니다. 다음으로 커밋되지 않은 모든 변경 사항을 스테이징합니다. git add .. 이 명령은 수정된 모든 파일과 새 파일이 커밋을 위해 준비되었는지 확인합니다. 이에 따라, git commit -m "Move uncommitted work to new feature branch" 명령은 작업을 설명하는 메시지와 함께 이러한 변경 사항을 새 분기에 커밋합니다.

새 브랜치의 변경 사항을 확보한 후 다음을 사용하여 원래 브랜치로 돌아갑니다. . 원래 분기를 이전 상태로 재설정하려면 다음을 사용합니다. git reset --hard HEAD~1. 이 명령은 이전 커밋으로 분기를 강제로 재설정하고 그 이후의 모든 변경 사항을 삭제합니다. 이 일련의 명령을 사용하면 원래 분기가 깨끗한 상태로 재설정되는 동안 새 기능에 대한 작업이 자체 분기에 유지됩니다.

셸 스크립트를 사용하여 프로세스 자동화

두 번째 스크립트 예제는 셸 스크립트를 사용하여 이 프로세스를 자동화합니다. 스크립트는 새 지점 이름이 제공되었는지 확인하는 것으로 시작됩니다. if [ -z "$1" ]; then, 이름이 지정되지 않으면 스크립트를 종료합니다. 변수 NEW_BRANCH=$1 제공된 분기 이름을 변수에 할당합니다. 그런 다음 스크립트는 다음을 사용하여 이 새 분기를 생성하고 전환합니다. git checkout -b $NEW_BRANCH. 커밋되지 않은 모든 변경 사항은 다음을 사용하여 준비됩니다. git add ., 그리고 커밋 git commit -m "Move uncommitted work to $NEW_BRANCH".

변경 사항을 커밋한 후 스크립트는 다음을 사용하여 이전 분기로 다시 전환합니다. git checkout -. 마지막 명령 git reset --hard HEAD~1 원래 브랜치를 이전 커밋으로 재설정하여 깨끗하고 새 브랜치로 이동된 변경 사항이 없는지 확인합니다. 이 셸 스크립트는 커밋되지 않은 작업을 새 브랜치로 이동하고 현재 브랜치를 재설정하는 프로세스를 자동화하는 편리한 방법을 제공하므로 Git에서 워크플로를 더 쉽게 관리할 수 있습니다.

커밋되지 않은 변경 사항을 Git의 새 분기로 이동

Git 명령줄 사용

# Step 1: Create a new branch and switch to it
git checkout -b new-feature-branch

# Step 2: Stage all uncommitted changes
git add .

# Step 3: Commit the staged changes
git commit -m "Move uncommitted work to new feature branch"

# Step 4: Switch back to the original branch
git checkout original-branch

# Step 5: Reset the original branch to the previous commit
git reset --hard HEAD~1

진행 상황을 유지하면서 작업을 새 지점으로 이전

자동화를 위해 쉘 스크립트 사용

#!/bin/bash

# Check if the user provided a branch name
if [ -z "$1" ]; then
  echo "Usage: $0 <new-branch-name>"
  exit 1
fi

NEW_BRANCH=$1

# Create and switch to the new branch
git checkout -b $NEW_BRANCH

# Stage all uncommitted changes
git add .

# Commit the changes
git commit -m "Move uncommitted work to $NEW_BRANCH"

# Switch back to the original branch
git checkout -

# Reset the original branch
git reset --hard HEAD~1

Git에서 기능 분기 생성 및 관리

Git으로 작업할 때, 특히 새로운 기능을 개발할 때 워크플로를 체계적으로 유지하는 것이 중요합니다. 한 가지 모범 사례는 기능 분기를 사용하는 것입니다. 기능 브랜치를 사용하면 기본 코드베이스와 독립적으로 새로운 기능을 작업할 수 있습니다. 이러한 격리는 완료되지 않았거나 불안정한 코드가 기본 분기에 영향을 미치는 것을 방지하는 데 도움이 됩니다. 기능 분기를 생성하려면 다음 명령을 사용하십시오. git checkout -b feature-branch. 이는 브랜치를 생성할 뿐만 아니라 사용자를 해당 브랜치로 전환하여 모든 새 작업이 올바른 컨텍스트에서 수행되도록 합니다.

기능 브랜치를 생성한 후에는 기본 브랜치에 영향을 주지 않고 새 기능을 작업할 수 있습니다. 이는 여러 개발자가 동시에 다양한 기능을 작업하는 공동 작업 환경에서 특히 유용합니다. 기능이 완성되고 철저하게 테스트되면 다음을 사용하여 기본 분기에 다시 병합할 수 있습니다. git merge feature-branch. 이런 방식으로 메인 브랜치에는 안정적이고 완전한 코드만 포함됩니다. 기본 분기의 최신 변경 사항으로 기능 분기를 업데이트해야 하는 경우 다음을 사용할 수 있습니다. git rebase main 기능 분기에 있는 동안 최신 상태인지 확인하세요.

Git 분기 관리에 대해 자주 묻는 질문

  1. 기능 분기란 무엇입니까?
  2. 기능 브랜치는 기본 코드베이스와 독립적으로 새로운 기능을 개발하기 위해 생성된 별도의 브랜치입니다.
  3. Git에서 새 브랜치를 어떻게 생성하나요?
  4. 다음을 사용하여 새 지점을 만들 수 있습니다. git checkout -b branch-name.
  5. Git에서 브랜치 간에 어떻게 전환하나요?
  6. 사용 git checkout branch-name 기존 지점으로 전환합니다.
  7. 기능 분기를 기본 분기에 다시 병합하려면 어떻게 해야 하나요?
  8. 기능 분기를 병합하려면 기본 분기로 전환하고 다음을 사용하세요. git merge feature-branch.
  9. 기본 분기의 최신 변경 사항으로 내 기능 분기를 어떻게 업데이트합니까?
  10. 기능 분기에 있는 동안 다음을 사용하세요. git rebase main 최신 변경 사항을 통합합니다.
  11. 병합 후 브랜치를 삭제하고 싶으면 어떻게 하나요?
  12. 다음을 사용하여 지점을 삭제할 수 있습니다. git branch -d branch-name.
  13. 내 저장소의 모든 브랜치를 어떻게 나열합니까?
  14. 사용 git branch 모든 지점을 나열합니다.
  15. Git에서 브랜치 이름을 바꿀 수 있나요?
  16. 네, 사용하세요 git branch -m old-name new-name 지점 이름을 바꾸려면.
  17. 현재 어느 지점에 있는지 어떻게 확인하나요?
  18. 사용 git status 또는 git branch 현재 지점을 보려면.
  19. 충돌이 있는 브랜치를 병합하려고 하면 어떻게 되나요?
  20. Git은 병합을 완료하기 전에 충돌을 해결하라는 메시지를 표시합니다. 사용 git status 충돌이 있는 파일을 확인하고 그에 따라 편집합니다.

마지막 생각들:

커밋되지 않은 작업을 Git의 새 브랜치로 이동하는 것은 체계적이고 깔끔한 개발 워크플로를 유지하는 데 유용한 기술입니다. 제공된 명령과 스크립트를 사용하면 기능에 대한 새 분기를 쉽게 생성하고, 변경 사항을 커밋하고, 현재 분기를 재설정할 수 있습니다. 이 접근 방식은 진행 상황을 보존할 뿐만 아니라 기본 분기를 안정적으로 유지하고 불완전한 기능이 없도록 유지합니다. 이러한 방식을 채택하면 생산성이 향상되고 팀 구성원 간의 협업이 더 원활해집니다.