2015-02-03 2 views
0

이것은 아마도 해결되었지만 해결책을 찾지 못했습니다. 두 개의 지점 master 및 localdev가 있습니다.두 분기에서 이진 파일 충돌이 있습니다

브랜치 b에서 방금 연 다음 커밋 한 gif 파일이 있습니다. 이제 내가 그것을 삭제하고 마스터에서 병합하려고하면 (아마도 커밋 된 변경 때문에) 작동하지 않습니다. 되돌리기를 원하지 않는 커밋의 다른 변경 사항이 있습니다.

이 단일 파일을 master 및 localdev에있는 그대로 되돌릴 수 있습니까? 두 가지의 동일한 파일에 대한

DIFF 사전에

index 3288d10..c97ba49 100644 
Binary files a/temp/spinner2.gif and b/temp/spinner2.gif differ 

감사를 보여줍니다!

답변

2

"git checkout branch_name - filepath"를 찾는 것처럼 들립니다.

이 명령은 현재 분기의 특정 파일에 변경 사항을 버릴 수 있습니다.

:

그래서 당신은 localdev 지점에있는 것은,이 명령을 사용하는 동안 master 브랜치에서 해당 GIF 파일을 얻으려면 (명심 이 localdev에서 당신이 GIF로 변경 한 내용을 삭제)

git checkout master -- path/to/your/file/spinner2.gif 

두 개의 하이픈과 gif 경로를 포함해야합니다.

+0

나는 그것을 시도했다. master의 동일한 파일이 어떤 체크 아웃을해야하는지 잘 모르겠습니다. 변경 사항을 취소하지 않고 동일한 인덱스 차이를 보여줍니다. – startedFromTheBottom

+1

'checkout' 명령은 다른 브랜치의 완전히 다른 체크 아웃으로부터 복사를하고 파일을'추가 '한 것처럼 인덱스/스테이징 영역과 작업 디렉토리에 그것을 씁니다. 즉, 현재 (localdev) 지점으로 커밋 할 준비가되었지만 아직 커밋되지 않았습니다. 따라서'git status'는 변경된 상태로 커밋 할 준비가되어 있고,'git diff --cached'는 "바이너리 파일이 다릅니다"라고 알려줍니다. – torek

+0

@ 토렉이 말한 것. 그래서 기본적으로, 당신은 "git status"를 타이핑 할 때 '변경 될 커밋 : 수정 : 경로/to/your/file/spinner2.gif'를보고있는 것 같아요. 이 변경 사항을 커밋하면 gif가 마스터에 저장되는 것으로 다시 설정됩니다. 그 시점부터 diff는 비어 있어야합니다. –