2011-08-31 2 views
1

많은 경우에 내 버전 제어 시스템으로 git를 구현하는 데 어려움을 겪었습니다 ... 너무 좌절했습니다. 수많은 기사와 튜토리얼을 읽으십시오. 수색되었지만 알아야 할 것을 다루는 수색을 만들 수없는 것 같습니다. 이 시도에서 나는 다음을 시도하고있다. 이게 틀린 지 말해봐.소스가되는 베어 레포를 어떻게 만듭니 까?

  1. 주요 베어 REPO : 난을 변경 (.. 다 현재 거기에 아무 상관이) 밀어 수 있습니다 내 개발 컴퓨터에 베어 저장소를 작성
  2. 개발 지점 REPO : 디렉토리에 저장소를 시작하는 내가 할 수있는 변경 한 다음 맨손 저장소로 이동하십시오. (완료, 첫 번째 커밋을 완료했습니다.)
  3. 브랜치 REPO : 내 저장소에서 저장소를 시작하여 베어 리포 지 토리에서 업데이트를 가져옵니다. (아직 없습니다.) 내가 주요 베어 REPO에 개발에서 밀어 시도하고 왔을 때 나는 # 1과 # 2는 거의 다 있다고 생각

:

no origin was found for working tree 

내가 설정해야합니까 MAIN BARE REPO를 원점으로? 그것을 할 수있는 명령이 있습니까? 나는 git에 쓰여진 자료의 대부분이 어떤 이유로 적용하기가 힘들 기 때문에 기사를 요청하는 것이 두렵다.

대답 인 경우 :

git push --all <url-of-bare-repo> 

그 다음 정보를 어떤 모습입니까?

  1. 전/사용자/나/사이트/devel_repo에 위치하고에서 추진하고있어 개발 지점
  2. 전/사용자/나/사이트/main_repo에 위치하는 추진하고있어 주요 베어의 repo

감사합니다.

+0

그게 무슨 가치가 있는지, 나는 당신의 설정에서 메인 (벌거 벗은) 저장소의 요점을 보지 못했습니다. 개발 저장소에서 프로덕션 저장소로 직접 푸시하는 것이 더 효율적입니다. –

+0

@DavidZaslavsky, 원칙적으로 동의합니다.그러나 내가 읽은 모든 것은 아무데도 있지만 맨손의 저장소에 푸시하지 않는다고 말합니다. – Jay

+0

글쎄, 지금 당신은 조심해야만 비 - 베어 저장소에 가도록하는 것이 좋다고 말하는 것을 읽고 있습니다 ;-) 저는 항상 그렇게합니다. 유일한 포착 점은 체크 아웃 된 브랜치 (이 경우와 같이)로 푸시하려는 경우 repo 구성에서 'receive.denycurrentbranch' 속성을 설정해야합니다 (또는 분리 된 작업 트리)를 만들고,'git checkout -f'를 실행시킬 훅 스크립트를 만들어야한다. –

답변

4

origin은 리모컨입니다. 이 작업이 완료되면

git remote add origin /Users/me/sites/main_repo 

, 당신은 git push origin master 등을 실행할 수 있습니다 :

당신은 당신의 DEV의의 repo에서 다음과 같이 추가 할 수 있습니다 : 같은

git remote add origin path/to/bare/repo 

를 귀하의 경우, 그것은 것입니다

일반적으로 다른 repo에서 복제하면이 origin이 자동으로 설정됩니다. 이는 단지 규칙이며 기본값입니다. 원하면 다른 이름을 쓸 수 있습니다.

또한 푸시하려면 리모컨이 필요없는 입니다.. 그것은 repo 경로/URL에 단지 짧은 손으로하므로 반복해서 반복하지 않아도됩니다. git push을 수행 할 때 기본적으로 밀어 내기를 시도하기 때문에 푸시 할 때 원점을 찾습니다.

관련 문제