2013-01-05 3 views
0

, SourceTree/GIT가됩니다 : 확실히 삭제하지골드 피처 Sourcetree + GIT + 맥 + 산 사자 + 이클립스 + 안드로이드 프로젝트 = 고장 모드 I 분기를 체크 아웃 할 때, 제목에 도구의 조합을 사용하여

A)를 폴더를 이전에 체크 아웃 된 분기에서 가져온 것입니다. 따라서 FOLDER1 및 FOLDER2와 함께 BRANCH-ALPHA를 가지고 있고 FOLDER2 및 FOLDER3 만 있고 FOLDER1이없는 BRANCH-BETA를 확인하면 FINDER의 결과 구조에 FOLDER1이 여전히 있음이 표시됩니다 . 이것을 반복해서 재현 할 수 있습니다.

B) 종종 체크 아웃 된 브랜치의 파일을 덮어 쓰지 않기 때문에 브랜치 - 베타 체크 아웃시 Eclipse에서 BRANCH-ALPHA를 볼 수 있습니다.

나는 계산을하기 전에 이클립스를 닫고, Eclipse, CLEAN, BUILD를 열었다. GIT에 대한 문제입니다.

유일한 해결책은 모든 폴더와 모든 메타 데이터를 삭제 한 다음 분기를 체크 아웃하는 것입니다. 이것은 전형적으로 프로젝트를 열고, 새로운 작업 공간, 새로운 메타 데이터 등을 생성하고, 경로 등등과 같은 많은 것들을 고치기 위해 Eclipse를 "납득 시키려"시도하는 데에 이릅니다.

추가 원인을 연구하고 해결책을 찾아내는 것은 대단히 평가됩니다.

+0

** FOLDER1 **이 (가) BRANCH-ALPHA에 게시되었습니다. – Kane

답변

0

새 커밋을 체크 아웃 할 때 힘내 전용 폴더가 삭제됩니다. 숨겨진 파일이 저장되어 있으므로 빈 디렉토리가 표시 될 수 있습니다. Finder에서 파일을 열어 동작을 모니터링하려고하면 Finder에서 폴더가 표시되는 방식을 추적하는 숨김 파일을 생성하므로 실제로 문제가 발생합니다.

폴더가 있음을 방해합니까? 각 체크 아웃 후에 git clean -dxf을 실행하는 post-checkout hook을 추가 할 수 있습니다. git이 알지 못하는 모든 파일을 제거합니다. 컴파일 된 클래스도 삭제되므로 새 빌드가 필요합니다.

또 다른 가능성은 파일이나 디렉토리를 잠그는 것이므로 다른 프로그램에서 열거 나 잠그는 동안 자식을 제거 할 수 없습니다. 이것은 또한 일부 파일이 올바른 버전으로 업데이트되지 않는 이유를 설명합니다. 브랜치를 전환 할 때 git가 불평합니까? 실제로 파일을 잠그고 있어야합니다.

+0

점프 해 주셔서 감사합니다 ... 객관적인 -c/xcode 프로젝트에서 GIT는 체크 아웃중인 지점의 일부가 아닌 폴더를 삭제합니다 ... GIT는 불평하지 않고 있으며 항상 완전히 닫습니다. 분기를 체크 아웃하기 전에 이클립스를 실행하지만, OSX 파일 시스템에서 이클립스가 설정 한 일종의 읽기 전용 권한이 파일에있을 수있다. VCS에 대한 나의 기대는 지점을 체크 아웃 한 후에 파일 시스템이 .ignore'd 파일과 폴더를 제외하고 체크 아웃 된 것을 정확히 일치시켜야한다는 것입니다. 이 문제에 관한 글로벌. –