보관함을 역적용하는 방법은 무엇인가요?
내 깃 저장소에 작은 패치를 저장했다. '깃 저장소 적용'을 사용하여 작업 복사본에 적용했다. 이제 패치를 반대로 적용하여 변경 사항을 되돌리고 싶습니다 (git revert
가 수행하지만 저장소에 대해 수행하는 것과 비슷함).
이 작업을 수행하는 방법을 아는 사람이 있습니까?
설명: 제 작업 복사본에는 다른 변경 사항이 있습니다. 제 특별한 경우를 설명하기는 어렵지만 스태시에있는 디버깅 또는 실험 코드를 상상할 수 있습니다. 이제 작업 복사본에 다른 변경 사항과 함께 혼합되어 있으며 숨김의 변경 사항을 적용했을 때와 적용하지 않았을 때의 효과를 보고 싶습니다.
현재 스테이시가 이 기능을 지원하지 않는 것 같지만 git stash apply --reverse
가 있으면 좋을 것 같습니다.
205
8
http://git-scm.com/docs/git-stash">'git-stash manpage'에 따르면, '스태시는 트리에 작업 디렉토리의 상태를 기록하는 커밋으로 표현되며, 첫 번째 부모는 스태시가 생성될 때
HEAD
에 있는 커밋이고,git stash show -p
는 스태시에 저장된 변경 사항을 스태시 상태와 원래 부모 사이의 차이로 알려준다.다른 변경 사항을 그대로 유지하려면 다음과 같이
git stash show -p | patch --reverse
를 사용하세요:수정:
이 문제를 약간 개선한 방법은 패치 대신
git apply
를 사용하는 것입니다:또는
git apply -R
을git apply --reverse
의 단축어로 사용할 수도 있습니다.저는 최근에 이 방법이 정말 편리하다는 것을 알게 되었습니다...
git stash
[save]
는 작업 디렉터리 상태와 인덱스 상태를 가져와서 저장하고, 인덱스와 작업 영역을HEAD
버전으로 설정합니다.'
git stash apply
'는 변경 사항을 다시 가져오므로 'git reset --hard
'는 다시 제거합니다.'git stash pop'은 해당 변경 사항을 다시 가져오고 가장 위에 저장된 변경 사항을 제거하므로 이 경우
git stash [save]
는 이전(팝 전) 상태로 돌아갑니다.비사양 커밋합니다 분리하십시오 변경 했다.
붙여넣습니다 직접판매용 잘라냅니다 n 의 git 맨페이지
39 의 it& 확실히요 말로, 심지어 앨리어스를 포함되어 있습니다.
지정하지 않으면, Git 는 가장 최근에 다시 숨기기 숨기기:
깃 (git) 앨리어스를 추가하기에서는 데이터베이스에구성원을 비밀창고 우나플리 명령을 효과적으로 만들 수 있습니다. 예를 들면 다음과 같습니다.
이것은 오래되었지만 문제를 올바르게 해석하면 간단한 해결책을 찾을 수 있습니다:
'깃 저장소 [저장]`는 현재 변경 사항을 저장하고 현재 브랜치를 '깨끗한 상태'로 설정합니다;
'깃 스태시 리스트'는 다음과 같은 결과를 보여준다:
stash@{0}: 개발 중: 저장된 테스트 내용
과 같이 출력된다.git apply stash@{0}
는 현재 브랜치를stash [저장]
이전으로 설정한다.git checkout .
은 현재 브랜치를stash [저장] 이후
로 설정한다.저장소에 저장된 코드는 손실되지 않으며,
git apply stash@{0}
로 다시 찾을 수 있습니다.어쨌든, 이 방법은 저에게 효과적이었습니다!
베이컨 외에 오토메이티드 @Greg 대비하여, 이진 파일, 또는 그 부분을 사용하여 추가된 인덱스화할 비밀창고
발생할 수 있습니다
이 문제를 해결할 수 있지만, t # 39 죄송합니다. haven& 이진 추가 '' 왜 아직 깨달았습니다.
이것은 또한 위와 같은 답을 찾고 있지만 자도으로 깃 (git) 을 기반으로 바뀔 때 새로운 메시지를 숨겨 놨다 저장됩니다 비밀창고 비밀창고 수 있습니다. 나는 몇 가지 기능을 기록되었으므로 내주었다.
>. 어떻게 반전하려면 적용하십시오 비밀창고?
먼저, 가장 손쉬운 방법은 별도로 다른 사람들의 언급한 못하며창조된
모든 로컬 변경 후 체크아웃합니다