2017-03-13 19 views
0

목표를 달성하는 방법을 알고 싶습니다. 마스터 디렉토리에서 새 브랜치를 만들고 싶지만 디렉토리가 자동 생성되어 있지 않습니다. 체크인했습니다.원격 마스터에서 체크되지 않은 디렉토리에서 git release 브랜치를 만드는 방법

내 릴리스 분기에 최종 바이너리 만 포함되도록하겠습니다.

Thiis 내 마스터의 나무

: 새로운 릴리스 브랜치 내가 할 두 가지 방법을 시도

$(release_branch): 
     |------>bin 

만 bin 폴더를 가지고 있지만 내가 할 수 아니에요 : 나는 무엇을 달성하고자하는

$ (master): 
     |------>FolderA 
     |------>FolderB 
     |------>bin <----- This is autogenerated directory not checkedin 

에.

$git subtree split --prefix=baking/bin/ -b split_libs 

새로운 버전이 발견되지 않음 : 1

방법은 내가 자식 하위 트리를 사용하려고 노력했다.

자동 생성 된 디렉토리가 체크 인되어 있지 않아서 왜이 오류가 발생하는지 압니다.

방법 2 : 디렉터리 저장소를 새 분기로 분할했는데 수행 할 수 없었습니다.

$git filter-branch --prune-empty --subdirectory-filter baking/bin/ test_release 

질문 : 는 단지 libs가 들어있는 자동 생성 된 디렉토리에서 분기를 만들 정말 수 있습니까?

+0

왜이 제품을 원하십니까? 프로젝트를'bin /'으로 컴파일하는 것은 소스에서 가능해야하므로 체크인 할 필요가 없습니다. 바이너리 데이터를 추적하는 것은 Git이 설계 한 것이 아닙니다. –

+0

우리는 내 바이너리에 의존하는 세 팀을 가지고 있으므로 시간을 보내는 것에 만족스럽지 않고 수동으로 각 바이너리를 각 서버에 업로드합니다. 대신 최신 git release 브랜치에서 바이너리를 가져올 수 있습니다. 나는 git release branch를 원점으로 밀어 넣으면 릴리스 브랜치가 많을 것이고 더 많은 공간을 소비 할 것이라고 생각했다. 그 때문에 나는 바이너리 만 원격으로 밀어 넣을 것이라고 생각했다. – LethalProgrammer

+0

아마도 binairies에 다른 repo를 만들 수 있습니까? – baddger964

답변

0

이것은 실제 해결책이 아니지만 다른 팀이 bin 디렉토리에서 라이브러리를 가져 오도록 내 릴리스 브랜치에서 전체 디렉토리를 밀어 넣었습니다.