2014-09-22 10 views
0

현재 Git을 사용하기 시작하고 문제가 발생합니다.기존 파일에 Git을 사용하고 밀어 넣기 후 분기를 업데이트하십시오.

내가 원하는 바는 사용자가 밀고 당길 수있는 힘내 저장소가 있어야한다는 것입니다.

또한이 저장소는 마스터 분기의 미리보기 버전으로 작동해야하므로 저장소 파일에 스크립트 파일이 있어야합니다.

"git init test.git"를 사용하여 저장소를 시작했습니다. 그래서 맨발의 레포가 아닙니다.

질문은 마스터 브랜치의 현재 버전을 실제 파일로 저장하고 저장소의 현재 마스터 브랜치에 도달하기위한 URL을 설정할 수 있도록 설정하는 방법입니다.

저장소를 만들고 밀어 넣으려고하면 현재 마스터 분기가 저장소에서 체크 아웃되고 밀어 넣을 수 없다는 오류가 발생합니다.

아이디어가 있으십니까?

답변

1

일반 저장소로 푸시하지 마세요. 체크 아웃 된 지점으로 푸시 할 수 없습니다!

는 지금 상황 당신에게 주어진 나의 제안은 다음과 같습니다

은 축복 베어 저장소를 유지! 지역에서의 모든 개발을 마친 다음 마스터에게 병합/리바이스 한 다음 축복받은 맨손으로 밀어냅니다.

코드가있는 축복 된 베어의 수신 후크를 작성하거나 코드가 cd 인 스크립트를 프로덕션 저장소에 실행하고 축복 된 베어에서 끌어 올 수 있습니다 (앞으로 빨리 감기로 표시됨).

이 방법은 '축복 된 베어 스'로 푸시 할 때마다 체크 아웃 한 마스터를 업데이트하고 업데이트합니다.

이렇게하면 문제가 해결됩니다.

해피 gitting!

+0

좋은 해결책 인 것 같습니다. 시도해 보셨습니까? 난 후받을 스크립트가 지금은 을 끌어이 CD /var/www/.../ 자식 같은 CD를 통해 올바른 디렉토리로 이동해야하지만 난 손으로 실행됩니다 스크립트를 호출하면 아무것도 을 happends 없습니다 정확하게 – phil

+0

@phil : 당신이 솔루션을 좋아하는지 잘 알고 있습니다. 아니,이 시도하지 않은,하지만 비슷한 일을했기 때문에 나는 그것이 작동 알았어. 스크립트를 손으로 실행할 때 아무 일도 일어나지 않습니다. 왜냐하면 당신이 '축복받은 (blessed_bare)'명령을 내렸을 때 일어났던 일이 이미 있었기 때문입니다. –

-1

설명하신 내용에 따라 GitFlow이라는 분기 전략을 구현하면 도움이 될 것이라고 생각합니다.

+0

나는 그것이 문제를 전혀 다룰 것이라고 생각하지 않는다. 그리고 그것은 '마스터'가 '개발'로 이름이 바뀌 었다는 점을 제외하면 그냥 규칙적인 워크 플로우 인 것 같습니다. 또한 핫픽스가 마스터에서 수행되므로 다중 버전 환경에서 실패하는 것 같습니다. –

+0

블로그 게시물을 읽으셨습니까?!? 두 가지가있다. 한 명의 주인과 한 명의 주인이 있습니다. 이 질문과 관련하여 모든 작업은 개발 브랜치에서 수행되고 기능 및 릴리스는 개발 브랜치에서 생성되고 인스턴스화됩니다. 그런 다음 작업이 완료되고 테스트되면 보호 된 마스터 분기로 푸시됩니다. 예, 핫픽스는 master 브랜치에서 수행됩니다. 특히 여러분이 지적한 이유로다중 버전 지원을 허용합니다. –

+0

예, 블로그 게시물을 읽었습니다. 그래서 그 내용에 대해 이야기했습니다. –