2017-03-09 7 views
0

git stashgit stash pop이이 문제에 대한 좋은 해결책입니까?git stash/git stash pop이 우발적 인 분기 전환에 괜찮습니까?

브랜치 B에서 작업하고 있었지만 실수로 뭔가 이상한 일이 생겼다가 이전 브랜치 인 브랜치 A에 다시 넣어 뒀다.

내가 B 지점으로 전환 할 수 있기 전에 내가 B 지점에 새로운 작업을하기를 원하지만 그럴 수는 없습니다.

브랜치 A (잘못된 브랜치)에있는 동안 git stash을 수행 한 다음 브랜치 B로 전환하면 (내 작업을 모두 잃지 않고 올바른 브랜치에 배치 할 수 있음을 의미) 올바른 지점) git stash pop을 수행 하시겠습니까? 그렇게함으로써 재앙이 발생합니까? 모든 일이 올바른 지점에서 즉시 이루어지며 정상적으로 커밋하고 푸시 할 수 있습니까?

나는 나의 힘내 프로젝트를 날려 버리지 말라는 말을 끄덕이고있다.

This post 내 질문에 대한 답변이지만 생각 하나? 또한, 해당 게시물에서 :

는 현재의 비 추적 (새로 추가) 파일을 숨기고하려면 인수 -u

확약 및/비 추적 새로 추가 된 파일의 차이점은 무엇입니까를 추가? 커밋되지 않은 파일이 "새로 추가"되었습니까?

답변

2

이는 숨김의 유스 케이스 중 하나입니다. 수정 된 파일이 두 브랜치간에 다른 것이 아니라면 브랜치를 전환 할 수 있습니다. 그러나 Git은 브랜치 스위치가 변경 사항 중 일부를 덮어 쓰는 것을보고 강제로하지 않으면 변경을 거부합니다.

그래서 네가 숨기고, 가지를 바꾸고, 은신처를 띄웁니다. 그런 다음 해결할 수있는 병합 충돌이 발생할 가능성이 높습니다.이 작업을 올바르게 수행하면 모든 작업이 끝나고 올바른 분기를 테스트하고 커밋 할 수 있습니다.

로컬로 새 파일을 만들고 전환하는 지점에 동일한 파일이 추가 된 경우 스위치가 로컬 파일을 덮어 쓰게되는 문제가 있습니다. 이를 위해 추적되지 않은 파일도 숨겨 두는 것이 좋습니다.

해당 용어에서 추적되지 않은 파일과 커밋되지 않은 파일의 차이점은 추적되지 않은 파일이 Git에 아직 알려지지 않았으며 커밋되지 않은 파일은 이미 추적되는 파일이지만 사용자가 변경 한 파일이라는 것입니다. 추적 할 수없는 파일도 물론 커밋되지 않습니다.