2009-10-30 8 views
13

일부 컨텍스트의 경우 : 기존의 gitosis 설치를 중단 한 우분투를 업그레이드하고 (여기를 참조하십시오 : bug #368895) 패키지에서 gitosis를 방금 다시 설치했습니다. 이제는 기존의 gitosis 설치 (아직 존재하지만 가져올 수는 있지만 그렇지 않은 경우)에서 전체 구성 및 저장소 세트를 마이그레이션하려고합니다.로컬 파일 시스템의 저장소로 git-merge

이제 각 gitosis 설치마다 하나씩 gitosis-admin 디렉토리가 두 개 있습니다. 하나는 전체 역사가 있고 다른 하나는 비어 있습니다. 나는이 역사를 거치고 싶다. 여기하지만 무슨 일이 일어나고 있는지의 :이

[email protected]:~/gitosis-admin-new$ git merge ../gitosis-admin-old/ 
fatal: '../gitosis-admin-old/' does not point to a commit 

이 ... ~/gitosis-admin-old/에서 자식 저장소이며, ~/gitosis-admin-new/

내가 아마 더 이상 가지고있는, 너무 다른 저장소에 대해이 작업을 수행 할 필요 해요 더 중요한 역사, 그래서 하나의 옵션으로 복사 및 커밋.

내가 뭘 잘못하고 있니? .git/HEAD를 가리키는 시도했는데 이해가 커밋이지만 작동하지 않습니다. 누군가 이렇게하는 방법을 설명 할 수 있을까요? 감사!

답변

21

당신은 저장소와 git pull를 사용해야합니다 (지점입니다)하지 git merge :

git pull ../gitosis-admin-old/ 

병합 원격에서 지점을 선택해야 할 수도 있습니다, 예를 들면 :

git pull ../gitosis-admin-old/ master 

이 병합을 한 번만 수행해야하는 경우 jamessan answer과 같은 git remote add을 사용하면 불필요한 작업이됩니다. 반면에 리모컨을 다시 방문하는 경우 (한 번 이상 당김)이 솔루션은 git pull <location> <branch>을 사용하는 것보다 낫습니다.

+0

수락; '주인'때문에 jamessan의 답변에서 하나를 얻습니다! 매우 감사합니다 :) –

3

해당 리포지토리에 대한 원격을 생성 한 다음 &을 병합 (또는 간단히 꺼내기)해야합니다.

git remote add admin-old file://$HOME/gitosis-admin-old 
git pull admin-old 
관련 문제