2012-10-22 3 views
12

새로운 기능을 추가하기 위해 git 저장소에 새 분기를 추가했습니다. 명시 적으로 체크 아웃하는 것을 잊어 버렸습니다. 이후 커밋하지 않고 많은 파일을 변경했지만 이러한 변경 사항을 마스터가 아닌 대체 분기에 적용 할 수 있기를 원합니다. 이 작업을 어떻게 안전하게 수행 할 수 있습니까?변경하기 전에 지점 체크 아웃을 잊어 버렸습니다.

답변

14

커밋되지 않은 변경 사항은 새로운 분기로 옮겨집니다. (로컬 변경이 브랜치를 변경하여 변경되는 파일에 영향을 미칠 경우에는 허용되지 않지만이 경우 새 분기가 마지막 커밋과 동일한 위치에있는 것처럼 들리므로 해당 경로는 문제가됩니다.)

11
git stash 

git checkout other_branch 

git stash pop 

트릭을해야합니다. 그런 다음 정상적으로 커밋 할 수 있습니다. 참고 : git stash manual page

+2

물론이 경우에는 'git stash'가 실제로 필요하지 않습니다. –

+2

나는 이것이 제공하는 추가적인 보안 감각을 좋아한다. 마지막 커밋 이후에 __way__을 너무 많이 수정하고 __really__를 잃고 싶지 않다면,'git checkout branch'가 괜찮을지라도, 상황이 계속되는 경우 대비할 계획이 있으면 여전히 위안입니다. – FireSBurnsmuP

관련 문제