충돌로 인해 "git stash pop"을 할 수 없습니다


19

로컬 자식 저장소가 있고 수정 된 파일이 여러 개 있습니다. 그런 다음 신속하게 무언가에 대한 수정 프로그램을 만들어야하므로

  • 내 변화를 숨기고 (git stash)
  • 편집 된 파일 (vi 파일)
  • 커밋 (git commit)
  • 팝된 숨김 (git stash pop)

이로 인해 충돌이 발생했습니다.

# On branch master
$ git stash pop
Auto-merging page/search.php
CONFLICT (content): Merge conflict in page/search.php
$ git status
# On branch master
# Unmerged paths:
#   (use "git reset HEAD <file>..." to unstage)
#   (use "git add/rm <file>..." as appropriate to mark resolution)
#
#   both modified:      page/search.php

변경 사항을 정리하고 숨김을 다시 적용하려고하면 같은 일이 발생합니다 (충돌). page / search.php에 대해서는별로 신경 쓰지 않지만 숨김 파일에서 다른 파일을 가져오고 싶습니다.

숨김을 패치로 변환하거나 숨김 상태 그대로 파일을 가져 오는 방법이 있습니까?

답변:


20

숨김은 이미 다른 파일에 적용되었습니다. 단지 page/search.php수동으로 병합해야합니다. 그 후 git reset변경 사항을 준비 해제하고 해킹을 계속하거나 git add ...커밋하십시오.


예. 바로 그거죠. -p로 패치를 복구 한 후 다른 파일이 이미 업데이트되어 있음을 알았습니다.
romaninsh

3
아주 좋은, git stash pop당신의 갈등을 해결 한 git add x다음 git reset준비에서 벗어나십시오. 감사합니다!
Quang

@Quang에 대한 stash pop --continue별칭 이 있어야합니다 reset. :)
Kaz

12

로 해결 :

git stash show -p

내 하루 저장, =)
아나톨리 techtonik

않습니다 -p여기에 아무것도 할?
Joost

2
보여 주다? -p? 이것이 무엇입니까? "show"가 충돌을 해결하는 방법은 무엇입니까?
Arnold Roa

2
이 명령은 숨김에서 변경 한 내용을 표시하여 수동으로 병합 할 수 있습니다.
Desmond Weindorf

1
coderwall.com/p/anxp0g/force-a-git-stash-pop 에서 찾았 git stash show -p | git apply && git stash drop으며 실행하기 전에 작동하는지 확인하려고합니다. :-)
PatS

7

애프터 git stash pop명령, 당신은 그 다음 할 손으로 충돌을 해결해야 git stash drop(가)로 수동으로 man git-stash제안합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.