1
나는 다음과 같은SVN replace + revert가 파일 기록을 잃어 버렸습니까?
> svnadmin create testrepo
> svn co file://$(pwd)/testrepo checkout
> cd checkout
> mkdir trunk
> echo something > trunk/myfile.txt
> svn add trunk
> svn commit -m "first commit"
> echo updated >> trunk/myfile.txt
> svn commit -m "second commit"
후 자연적으로 나는 지금
> svn up
> svn log trunk/myfile.txt
>> ------------------------------------------------------------------------
>> r2 | user | 2015-01-27 00:45:59 +0100 (Di, 27 Jan 2015) | 1 line
>>
>> second commit
>> ------------------------------------------------------------------------
>> r1 | user | 2015-01-27 00:45:59 +0100 (Di, 27 Jan 2015) | 1 line
>>
>> first commit
>> ------------------------------------------------------------------------
의 내가
> svn rm trunk
> svn cp [email protected] trunk
> svn commit -m "replacing trunk"
> svn up
> svn log trunk/myfile.txt
>> ------------------------------------------------------------------------
>> r3 | user | 2015-01-27 00:45:59 +0100 (Di, 27 Jan 2015) | 1 line
>>
>> replacing trunk
>> ------------------------------------------------------------------------
>> r1 | user | 2015-01-27 00:45:59 +0100 (Di, 27 Jan 2015) | 1 line
>>
>> first commit
>> ------------------------------------------------------------------------
그리고 내가 결정할 이전 버전과 트렁크를 교체 사고로 가정 해 봅시다받을 수 있나요 경우 되돌리기
> svn merge -c -3 .
> svn commit -m "reverted"
> svn up
> svn log trunk/myfile.txt
>> ------------------------------------------------------------------------
>> r4 | user | 2015-01-27 00:49:25 +0100 (Di, 27 Jan 2015) | 1 line
>>
>> reverted
>> ------------------------------------------------------------------------
>> r3 | user | 2015-01-27 00:45:59 +0100 (Di, 27 Jan 2015) | 1 line
>>
>> replacing trunk
>> ------------------------------------------------------------------------
>> r1 | user | 2015-01-27 00:45:59 +0100 (Di, 27 Jan 2015) | 1 line
>>
>> first commit
>> ------------------------------------------------------------------------
악의적 인 커밋을 되 돌렸을지라도 필자의 파일 기록은 이제 사라 졌으므로 r2에서 더 이상 변경된 내용을 볼 수 없습니다.
우선,이 이유는 무엇입니까? 저의 커밋을 잘못된 방향으로 되 돌렸습니까?
둘째, 파일 기록을 복원 할 수있는 방법이 있습니까?
이 문제에 대해 밝힐 수있는 사람 덕분에 !!
내 목표는 어떻게 든 역사를 다시 복원하는 것이지만 다른 개발자가 나쁜 커밋에 대해 알 필요가 없도록합니다. 정확하게 개정판에서 수정본을 만들 수 있었고, 나쁜 커밋 레코드 만 병합하고, 다음 커밋을 정상적으로 수행 한 다음, 분기를 트렁크 또는 이와 유사한 것으로 다시 통합 한 것처럼 보입니다. 그래서 내가 관심을 가질만한 것이 가능한 한 보이지 않는 커밋을 만드는 솔루션이 될 것입니다. (제 의견으로는 악의 커밋을 따르지 않은 다른 커밋이 없다면 악의 커밋을 완전히 되돌릴 수 있어야하지만, t는 방법을 안다. ..) – pete83