git push를 사용하여 로컬 브랜치를 생성하지 않고 원격 브랜치를 동적으로 생성합니다.

git push를 사용하여 로컬 브랜치를 생성하지 않고 원격 브랜치를 동적으로 생성합니다.

그래서 이것이 내가 달성하고 싶은 것입니다:

Github에서 리포지토리를 복제하고 일부 안정 브랜치를 체크아웃하고 거기서 로컬 변경 사항을 적용할 때 로컬 기능 브랜치를 생성하고 싶지 않으며 체크아웃한 로컬 안정 브랜치에 변경 사항이 유지되는 것을 원하지 않습니다.

기능 분기가 원격으로 생성되고 로컬 안정 분기가 깨끗하게 유지되도록 변경하고 원격 저장소로 푸시하고 싶습니다.

로컬 브랜치를 생성하고 새로운 변경 사항을 로컬에 유지하지 않고 어떻게 이를 수행할 수 있습니까?

답변1

원격 안정 지점 확인

git fetch <remote> <branch>

이제 로컬 저장소에읽기 전용원격 추적 분기의 복사본, 이제 읽기 전용 추적 분기를 체크아웃하세요.

git checkout origin/<branch_name>

VCS(무엇을 사용하든)는 다음과 같은 메시지를 표시하기 시작합니다.

  • HEAD is in a detached state
  • Previous HEAD position was c293198

에서와 같이 현재 브랜치는 해시 조각처럼 작동합니다 a697b40.
모든 분리된 HEAD는 새 커밋을 만든 다음 이를 떠나면(다른 항목을 확인하여) 해당 새 커밋을 참조할 수 없게 됩니다.

원격 추적 분기에서 새로운 "기능" 분기를 체크아웃하고 생성합니다.

git checkout -b "feature_branch_intended_for_remote"

이 시점에서 모든 커밋은 이 새로운 브랜치에 추가됩니다. 이 브랜치의 기록은 원래 안정적인 브랜치입니다.
즉, 원격으로 안정적인 데이터(수정할 수 없음)를 얻고 안정적인 업스트림 로컬 작업 복사본을 만들지 않습니다. 실수로 다시 업스트림으로 푸시할 수 있습니다.
이제 할 수 있습니다

  • 이 새로운 브랜치에 작업을 커밋하세요
  • 새로운 Branch로 다시 원점으로 Push
git push [--set-upstream | --track | -u] <remote> <feature_branch_intended_for_remote>

관련 정보