2011-05-12 9 views
0

전 자식에게 익숙하지 않아 로컬 저장소에 몇 가지 커밋을했습니다. 그런 다음 실수로 '푸시'대신 '당겨'를 클릭했습니다. 결국 데스크톱을 정리하는 데 전념했습니다 ... 전 디렉토리 (repo clone)를 제거했습니다. 서버에서 repo를 복제 한 후에는 저의 커밋이 하나도 없었습니다.제거 된 자식 저장소 복원

삭제 된 repo (변경)를 복원 할 수 있습니까? 나는 Windows 7 + TortoiseGit을 사용하고 있습니다.

미리 감사드립니다.

답변

1

로컬 컴퓨터를 백업하고 있습니까? 그렇지 않다면 언제 시작할 것입니까?

다음은 결론입니다. 로컬 repo에서 푸시하지 않은 변경 사항을 저장 한 다음 해당 repo를 삭제하면 소스 제어 시스템에서 한 번 변경된 내용 만 도움이됩니다.

+0

예, 로컬 시스템입니다. 나는 lc-tech filerecovery를 사용하여 그것을 복구하려고 시도했다. 그것은 나를 도왔다. 대부분의 파일은 이미 덮어 썼습니다. 나는 거기에 몇 가지 망할 캐시가 있다고 belved ... :) 어쨌든 나는 내 작품에 5 시간이야. 그게 내가 svn을 선호하는 이유입니다 ... – Wtq

+0

@Wtq - 그랬지만, 당신은 그것을 삭제했습니다. :) –

0

서버가 아닌 로컬 저장소에 커밋했습니다. 저장소를 삭제했다면 커밋하지 않은 저장소에서 다시 커밋을 가져올 방법이 없습니다. 버전 관리는 많은 작업을 수행 할 수 있습니다 ...

1

응답 언급합니다 :

난 당신이 SVN (CVS-isch)를 사용하고있다 놀라지 아니에요. 커밋과 커밋의 차이점을 배우는 것이 중요합니다. git에서는 로컬에서만 커밋하고 푸시/풀 메커니즘을 사용하여 서로 다른 분기를 동기화합니다.

git에서 커밋은 SVN에서 캐시 된 커밋의 일부 형태로 볼 수 있습니다, 당신은 나중에 동기화를 위해 변경 사항을 대기열에 넣습니다. 실제 동기화가 지연됩니다. 당신이 할 수있는 유일한 방법은 데이터를 시도하고 복구하는 것입니다)

버전 관리는 어리 석음에 대한 치료법되지 않습니다 : 직장에서 많은 사람들이 여전히 차이를


원래 답을 얻는 문제가 하드 드라이브는 잃어버린 데이터를 재구성 할 수있는 사람을 고용함으로써 가능합니다.

+0

SVN을 사용하는 데 익숙합니다. – Wtq

+0

@Wtq : SVN-repo를 정확히 죽일 경우 : – KingCrunch

+0

@ KingCrunch - SVN을 사용하여 로컬 서버가 아닌 원격 서버에 변경 사항을 보냅니다. . :) – Wtq

0

다음 번에 알기에 로컬 저장소를 의도하지 않은 상태로 되돌리려면 git reset --hard @{1}과 같은 것을 원했을 것입니다.