2012-06-28 4 views
1

나는 원격, developer1 및 developer2가 있다고 가정합니다. 개발자 1이 원격으로 프로젝트를 푸시합니다. Developer2는 원격지에서 프로젝트를 복제하고 파일의 이름을 바꾸어 다른 폴더에 넣습니다. 그런 다음 프로젝트를 원격지로 푸시합니다. 그러면 developer1이 리모컨에서 프로젝트를 가져옵니다.파일 재배치시 자식 이름 바꾸기

그럴 경우 git의 이름 바꾸기 메커니즘은 내 이름이 바뀐 파일이 다른 폴더에 있다는 것을 인식합니까?

+0

해시가 동일하므로 인식해야합니다. – nhahtdh

+1

http://stackoverflow.com/questions/1094269/whats-the-purpose-of-git-mv –

답변

0

힘내는 파일 이름 변경/움직임을 감지하는 매우 좋은 메커니즘을 가지고 있습니다. 파일의 내용이 많이 변경되지 않은 경우 (90 %의 내용이 동일해야 함) git은 이동/이름 바꾸기로이를 감지합니다. 이 작업은 커밋 메시지에 다음과 같이 표시됩니다 :

git mv file.txt folder/file.txt 
을 :

파일 이동을 감지하지 않았다 자식 (때문에 파일의 대부분에이 변경된) 경우
file.txt -> folder/file.txt 

당신이 수행하여 자식에게 그렇게 말할 수

이렇게하면 파일 이동이 감지 될 수 있습니다.

변경 사항을 가져올 때 이름 바꾸기를 포함하여 개발자의 각 작업이 코드의 로컬 복사본에 수행됩니다.

+0

'git mv'를 사용하면 git의 diff 엔진에서 사용하는 이동 감지에 아무런 영향을 미치지 않습니다. –

+0

네가 맞다. @ charles-bailey. 하지만 실제로 작동하는 것은 "git mv file.txt folder/file.txt"를 먼저 수행하고 폴더/file.txt의 실제 변경을 수행하는 것입니다. – egore911