2012-11-24 5 views
3

가능한 중복이 수 : 힘내 : 나는 하위 폴더의 모든 내용을 놓고 여전히 역사


Is it possible to move/rename files in git and maintain their history?

내가, 자식이 나를 도울 수있는 방법을 잘 이전의 Subversion 사용자 아니에요을 다음 상황에서.

은 내가,

가 지금은 구조 변경해야이 구조를 통해 여러 커밋을 봤는데, 내 프로젝트가 여러 DIRS을 가진 포함 된 자식 저장소가 나는 루트에있는 모든 폴더/파일을 이동할 수 있도록 새 폴더로 이동하고 파일의 커밋 기록을 계속 유지하려고합니다. 내가 REPO

의 루트에 구조를 다음 가질 수 있도록

은 나의의 repo에서 예를 들어 나는 현재 내가 그들 모두를 원하는이

src 
res 
xml 
file.txt 
.gitignore 

같은 구조가 일반적이라는 폴더로 이동해야

common 
.gitignore 

그것이 있다면 어떻게 할 수 있습니까?

+0

을 확인,이 질문자는 이미 내가 알고 원하는 것을 모르는 것 같다. 그러므로 거기에 대한 답은 그 가정에 기초합니다. – Ahmed

답변

2

당신은이 파일을 이동하고 당신은 여전히 ​​git log --follow common/file.txt와 역사를 볼 수있는이

mkdir common 
git mv src res xml file.txt common 

같은 명령을 사용할 수 있습니다 감사합니다. 오히려 역사를 다시 싶다면, 당신이 준 참조 자사의 중복을 생각하지 How can I rewrite history so that all files, except the ones I already moved, are in a subdirectory?

+0

은 필요하지 커밋입니까? – Ahmed

4
mkdir common 
git mv src res xml file.txt common 
git commit 
+0

이 파일의 기록은 유지되지 않습니다. 당신은 역사를 볼 수 --follow' 로그인 자식'해야합니다. –

+4

예, 가능합니다. 그렇지 않으면 git가 파일 당 기록을 추적하지 못하기 때문입니다. 항상 전체 저장소의 기록을 추적합니다. – melpomene

관련 문제