2009-08-29 4 views

답변

149

테스트 분기로 체크 아웃 한 다음 커밋 할 수 있습니다. 다른 지점으로 이동할 때 커밋되지 않은 변경 사항을 잃지 않습니다. 나는 삭제 된 파일에 대해 정말 잘 모르겠지만, 난 당신이 또한 당신이를 만들 수 있습니다 git add .

+11

때때로 변경 사항이 해당 분기와 충돌하기 때문에 체크 아웃이 실패합니다. checkout -m을 사용하여 병합을 시도 할 수 있습니다. –

+1

삭제 된 파일은'git -u add '를 할 때 관리 할 수 ​​있습니다. –

+2

시도했지만 오류가 있습니다 : 오류 : 다음 파일에 대한 로컬 변경 사항은 체크 아웃으로 덮어 씁니다. 분기를 전환하기 전에 변경 사항을 커밋하거나 숨겨 둡니다. – ishwr

5
git checkout TEST 
git add file1 file2 
git commit 
+1

맨손으로 간단하게 +1 –

194

를 사용할 때이 포함되지 않은 추측

git checkout test 
git add . 
git add deletedFile1 
git add deletedFile2 
... 
git commit -m "My Custom Message" 

:

마스터 지점에있다 치죠 새 분기를 수행하여 전환 :

코드 편집을 시작하기 전에 항상 새 분기를 시작하는 것을 잊지 않기 때문에 항상이 방법을 사용합니다.

+13

+1 가장 간단하고 간단한 대답입니다. –

+2

@jouni와 동일한 이슈가 다른 답변에 언급되었습니다. 추가 변경 사항이 원래 변경 사항과 충돌하는 경우 분기를 마스터로 다시 병합하는 것이 어려울 수 있습니다. IMO이 스레드는 질문에 더 잘 대답합니다. http : // stackoverflow.com/questions/556923/git-how-to-merge-my-local-working- 다른 지점으로 변경 – jpwynn

+0

짧고 달콤하며 안심 ... "나는 항상 이것을 사용합니다 ..." –

35

왜 git stash를 사용하지 않는 것이 좋을까요? 복사 및 붙여 넣기처럼 직관적이라고 생각합니다.

$ git branch 
    develop 
* master 
    feature1 
    TEST 
$ 

이동하려는 현재 분기에 파일이 있습니다.

$ git status 
# On branch master 
# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
#  modified: awesome.py 
# 
# Changed but not updated: 
# (use "git add <file>..." to update what will be committed) 
# 
#  modified: linez.py 
# 
$ 
$ git stash 
Saved working directory and index state \ 
    "WIP on master: 934beef added the index file" 
HEAD is now at 934beef added the index file 
(To restore them type "git stash apply") 
$ 
$ git status 
# On branch master 
nothing to commit (working directory clean) 
$ 
$ 
$ git stash list 
[email protected]{0}: WIP on master: 934beef ...great changes 
$ 

다른 지점으로 이동하십시오.

$ git checkout TEST 

그리고 나는 당신이 당신의 작업 디렉토리에 여전히 변화를 가지는 동안 마무리 기능 지점으로 할 때 불평하는 git flow을 사용하기 때문에

$ git stash apply 
# On branch master 
# Changed but not updated: 
# (use "git add <file>..." to update what will be committed) 
# 
#  modified: awesome.py 
#  modified: linez.py 
# 

가 나는 또한 git stash처럼 적용됩니다.

@Mike Bethany와 마찬가지로, 다른 지점에 있다는 것을 잊어 버리는 동안 새로운 문제에 대해 작업하기 때문에 항상 이런 일이 항상 발생합니다. 따라서 작업, git flow feature finish...git stash apply부터 git flow feature start ... 분기까지 숨길 수 있습니다.

+2

'git stash'는 커밋되지 않은 변경 사항을 처리하기 위해 제가 선호하는 방법입니다. 확실히 잘라 내기 및 붙여 넣기로 생각할 때 직관적 인 방법입니다. –

+0

이것은 나에게 좋은 접근 방법입니다. 그것은 문제없이 일했습니다. –

+0

당신이 이것을 할 수 있었는지 몰랐으며 잘 작동했습니다. 다른 방법보다 조금 더 직관적 인 느낌. – glaucon

관련 문제