2012-01-17 3 views
3

"B"저장소로 이동해야하는 "A"라는 저장소가 있습니다.이 저장소는 기록을 잃지 않고 마치 "B"에 있었던 것처럼 보입니다.히스토리가있는 git 저장소를 다른 저장소로 내보내기

폴더 나 저장소의 일부를 옮길 필요는 없지만 전체 저장소 내용을 다른 저장소로 옮길 수 있습니다. 기본적으로 저장소 "A"의 이름을 "A"를 잃지 않고 "B"로 변경합니다.

도움이 될 것입니다.

+0

왜 단순히 git clone을 사용하지 않습니까? 당신은 항상 완전한 역사를 제공합니다 ..., – madflow

+0

문제는 원격 저장소가 지워지므로 "A"의 로컬 사본을 가지고 있으므로 "B"에 기록을 남기고 싶지 않습니다. – Flupkear

+0

Flupkear, @ yuri의 답변을 아래에서 살펴보십시오. 간단하고 잘 작동합니다. –

답변

2

B를 리모컨으로 추가하십시오. git fetch remote_A을 repo B에서 실행하면 전체 기록을 가져 오게됩니다.

+0

문제는 "A"의 로컬 복사본이 더 이상 원격 버전을 나타내지 않는다는 것입니다. "로컬"을 저장하려고 할 때 "git pull"을 수행하면 완전히 지워질 "A"로컬 복사본이 있습니다. 전에 다른 repo으로 "A"는 닦여 지지만 가능하면 확실하지 않습니다. – Flupkear

+0

이것은 중요하지 않습니다. 가져 오기를 수행하면 모든 지점 앞에 "remate_A"가옵니다. 원한다면 사용하십시오. 힘내 로그 - 모든 것을 보여줄 것이고 당신은 특정 일에 대해 grep 할 수있다. repo B에 아무 것도 없으면 파일 사본으로 충분합니다. –

+0

고마워, 나는 아직도 내 머리를 쓰려고 노력하고있어. 내가 너를 잘 이해한다면 나는 새로운 폴더에서 "B"의 복제본을 만들어야한다. "A"를 "B"로 복사해야한다. – Flupkear

1

망할 놈의 저장소는 폴더 그리고 당신은 B에게 A가

+0

"A"를 "A-copy"로 복사 한 다음 git-init, git add-remote , git commit, git push를 시도했지만 실패했습니다. 내가 .gconfig에서 .config 파일을 수정했고, "A"정의를 지우고 다시 시도해도된다면, repos가있다. – Flupkear

+0

@Flupkear'git add-remote' 란 무엇인가요? 정확한 단계를주고 질문에 편집하십시오. – manojlds

+0

죄송합니다. "git remote add"를 의미했지만, 이것은 내가 한 테스트 였기 때문에 관련이 없습니다. 내가 잘 이해했다면 빈 "B"repo를 폴더에 복제하고 "A"폴더 내용을 "B"에 복사하여 붙여 넣기 만하면됩니다. – Flupkear

1

그냥 DirA에서 DirB에 .git 숨겨진 디렉토리를 포함한 모든 파일을 복사 A. "잃지 않고 이름 변경"을 복사 할 수 있습니다.

그런 다음 DirB/.git/config를 열고 RemoteRepoA에서 RemoteRepoB 위치로 repo 위치를 변경하십시오. DirB 내에서 다음

은 수행 역사를 가진

git push origin master 

모든 코드는 RemoteRepoB에 추가해야합니다. 나는 GitHub에 2 repos로 이것을했다.

+0

+1 나는 그럭저럭 같은 것을 할 수 있었다 - 이것은 모든 창조/적용 패치의 가장 간단한 방법을 보았다. 그것은 나를 위해 일했다. 그리고 모든 것은 본래대로 보인다 - 나는 그것이 단점을 가지고 있는지 확실하지 않다. –

관련 문제