두 개의 다른 준비 서버가있는 프로젝트에서 작업하고 있습니다. 지금은 그 프로젝트에 대한 두 가지 지점과 내 질문은 코드가 첫 번째 지점의 진도 때문에 커밋되지 않은 동안 어떻게 다른 지점으로 전환 할 수 있습니다. 그 동안 다른 지점에서 일부 작업을 변경하면 작업 중에 어떻게 전환 할 수 있습니까? 미리 감사드립니다.Visual Studio TFS에서 동일한 Repo의 다른 분기를 전환하는 방법
답변
git stash 명령을 사용하는 것이 좋습니다 (명령 줄에서 수행해야합니다).
https://www.kernel.org/pub/software/scm/git/docs/git-stash.html
딜런이 말했듯이 당신은 git stash
를 사용할 수 있지만, 그것은 또한 당신이 원하는 때마다 커밋 할 수 염두에두고 가치가있다. 원격으로 바로 연결하지 않아도됩니다.
지점으로 돌아 오면 수행중인 작업을 완료하고 commit --amend
을 사용하여 방금 완료 한 작업을 이전 커밋의 내용과 결합 할 수 있습니다. 또는 정상적으로 커밋을 계속할 수 있으며 "진행중인 작업"을 스쿼시하기 전에 대화 형 리베이스를 수행하면됩니다.
예, 각 분기에서 커밋되지 않은 작업이있을 때 분기간에 전환 할 수 있습니다.
한 가지주의해야 할 점은 두 가지 모두에 숨겨져있는 두 가지 작품에 적용 할 숨겨져있는 작품을 알아야합니다. 다음 예제와 같은 세부 사항 :
dev
분기로 전환하려는 동안 master
분기에서 완료되지 않은 작업이 있다고 가정합니다. 그런 다음 git stash
을 사용하여 master
분기에 커밋되지 않은 작업을 저장할 수 있습니다. 그리고 같은 스택 (git stash list
)의 항목 :
[email protected]{0} WIP on master: sha-1 message
은 그럼 당신은 dev
지점 (git checkout dev
)로 전환하고 변경할 수 있습니다. dev
분기에서 커밋되지 않은 작업을 유지하면서 분기를 master
으로 다시 전환해야하는 경우. 그럼 당신은 또한 dev
분기에 변경 사항을 저장하기 위해 git stash
을 사용할 수 있으며, 스택 (git stash list
)이 될 것입니다 :
[email protected]{0} WIP on dev: sha-1 message
[email protected]{1} WIP on master: sha-1 message
을 지금이 숨겨 놓은이 작동했습니다
- 당신이 미완성를 계속하려면
master
지점에서 일하면[email protected]{1}
을git stash apply [email protected]{1}
으로 적용해야합니다. dev
지점에서 미완성 작업을 계속하려면[email protected]{0}
을git stash apply [email protected]{0}
으로 적용해야합니다.git stash apply
기본값은 최신 작업을 적용하므로dev
분기에git stash apply
변경 사항을 적용 할 수도 있습니다.
git stash에 대한 자세한 내용은 stashing in git book을 참조하십시오.
감사합니다. @ 마리나, 앞으로이 문제를 시도해 보겠습니다. 지금은 단일 지점에서 작업이 완료되었습니다. 다시 한번 감사드립니다. –
@Dylan에게 감사드립니다. 이것도 시도해 볼 것이고 링크도 유용합니다. –