2012-12-13 2 views
1

내 로컬 마스터 브랜치에있는 기능에 대해 작업하고 있었는데 git status는 나에게 3 개의 수정 된 파일이 커밋되지 않았습니다. 괜찮아. 그런 다음 라이브 사이트에서 버그를 발견했습니다. 나는 현재 작업을 포기하고 버그에 대한 빠른 수정을 만들고 싶었다. 빠른 수정을 위해 원격 브랜치에서 브랜치를 만들었지 만 git 상태는 이전 작업 브랜치에 있던 수정 된 파일을 보여줍니다.

나는 원격 REPO의 마스터에서 지점을 만들어 : 자식 체크 아웃 -b quickfix 원산지/마스터

하지만 3 개 수정 된 파일을 가지고 자식의 상태를 보여줍니다. 왜 그런가요? 어떤 파일에 대해서도 업데이트를하지 않았고, 리모트에서만 브랜치를 만들었습니다.

저는 quickfix로 작업을 시작할 수있는 원격/마스터의 깨끗한 지점을 갖고 싶습니다.

+0

은 추적되거나 추적되지 않는 세 개의 "수정 된"파일입니까? –

+0

추적되지만 완료를 위해 준비되지는 않았습니다 –

+0

[이 답변] (http : // stackoverflow .com/a/2569513/912144)? – Shahbaz

답변

1

당신은 변경 사항을 stash한다, 그래서 그들은에 저장된 커밋 "부동", 그리고 당신은 다시 당신이 당신의 버그 수정 작업을 한 후 적용 할 수 있습니다 :

$ git stash save "Working on ... - going to bugfix" 
$ git status --short # should show only untracked files 
$ git checkout bugfix 
# work work work 
$ git add file1 
$ git commit 
$ git push # probably a merge and that 
$ git checkout master 
$ git stash pop # applies the last stash's changes to working copy 
0

힘내 삭제되지 않습니다 파일 만 있기 때문에 당신은 지회를 전환했습니다 - 좋았습니다, 당신은 그들을 잃고 싶지 않았을 것입니다.

git add --all 
git stash 
git checkout quickfix 
# do all the work you need to fix the problem and commit 
git checkout master 
git stash pop # apply stashed work and remove it 

힘내 숨겨 놓은 당신이 변경 사항을 저장하고 당신이 (당신이 다른 지점에 은닉 작업을 적용 할 수있는 다른 일을 고정 완료 후 나중에 다시 적용 할 수 있습니다 이 나는 ​​지점에서 시작하는 (할 것 인 것이다 두 번 이상 필요하다면)

관련 문제