2012-03-09 2 views
0

실패 : 나는 git_repo_B의 하위 디렉토리에 git_repo_A 모든 것을 이동할또 다른 저장소에 자식 저장소를 이동하려고 내가 두 자식 저장소가

git_repo_A: https://github.com/gnychis/coexisyst 
git_repo_B: https://github.com/gnychis/android-wireless-monitor 

라는 : 응용 프로그램을. 모든 커밋과 파일 기록을 보존하고 싶습니다.

그래서 이동 한 후, git_repo_A는 다음과 같이 보일 것이다 :

git_repo_A/application/git_repo_B 

나는 기본적으로 내가 원하는 정확한 동작 설명이 웹 사이트를 발견 http://www.nomachetejuggling.com/2011/09/12/moving-one-git-repo-into-another-as-subdirectory/

그래서 나는 그것에게 주사를 놓았다을하지만, 나는 그것이 내가 원했던 것을했다고 생각하지 않는다.

메인 디렉토리의 * 파일이 git_repo_A/...에 추가 된 다음 git_repo_A/응용 프로그램으로 표시하고 싶은 모든 항목이 삭제 작업으로 종료되었습니다. 여기 git_repo_A로 이동있어 관련 두 가지 작업은 다음과 같습니다

https://github.com/gnychis/android-wireless-monitor/commit/455ba86a80d8300b16bdd9527c444ebad78f7a9a

https://github.com/gnychis/android-wireless-monitor/commit/23e6639221733158d197bf7c29df8998e8a5c2ef

나는 정확히 지침을 따랐지만, 그 지시가 정확 의미하지 않는다. 나는 그들이 전체 디렉토리를 다시 추가하지 않고 옮긴 것이 이상하다고 생각한다. 그러나 파일을 옮긴 다음 다시 추가하면 파일 기록이 보존되지 않습니다.

나는이 저장소를 사용하는 유일한 사람입니다. 따라서 3 월 9 일에 발생한 모든 것을 다시 설정하고 다시 시작하는 것이 좋습니다. https://github.com/gnychis/android-wireless-monitor/commits/

+0

그래서 repo A가 더 이상 존재하지 않게하려면? 당신이 아직도 살아 있기를 원한다면, 당신은 repo B로 submodule 수 있습니다. – tpg2114

+0

흠 나는 차이가 보이지 않습니까? 일단 내가 repo B로 이동하면 repo A를 더 이상 변경할 계획이 없습니다. 모든 변경 사항은 repo B – gnychis

답변

3

이전에 이와 비슷한 작업을 수행했습니다. 이것은 병합을 커밋하기 전에 일을 정리할 수 있다는 것을 제외하고는 링크에 나열된 프로세스와 거의 동일합니다. 유지하려는 하나) (귀하의 해당 지점을 병합 가정) git fetch RepoA

3 RepoB
에 RepoA
git remote add RepoA <path_to_repo>

2) 가져 오기 RepoA 역사에 원격을 추가 RepoB (에서

1) 당신이 RepoB에있어/마스터)
git merge RepoA/master

4) 적절한 하위 폴더로 RepoA 파일을 이동커밋 git add .
git commit -a 당신은 당신이 할 수있는 게시 된 지침에 따라 이후 RepoB에 아무 짓도하지 않은 경우


: git reset HEAD~
이제 모든 파일을 이동하고 당신이 필요 청소.이렇게하면 느린 때문에


git add .
git commit -a
는 지금까지 파일 이동과 관련되는 역사를 유지하는 등, 추적합니다 자식은 기본적으로 적은 수의 파일에 대한 이름을 바꿉니다. 모든 것을 추적하려면 다음 명령을 사용하십시오.
git config --global diff.renamelimit 0

+0

에 있으므로이 방법을 시도했지만 파일의 기록을 보존하지 못했습니다. 예제 파일은 다음과 같습니다. https://github.com/gnychis/android-wireless-monitor/commits/master/application/build.sh 내가 볼 수있는 유일한 기록은 병합입니다. – gnychis

+0

병합을 커밋하기 전에 renamelimit을 설정 했습니까? –

+0

eek, 나도 그랬어. 다시 시도해 보자. – gnychis

관련 문제