2014-02-26 2 views
0

Soooo .... 나는 "git reset HEAD myfilename"을 수정하고 모든 로컬 변경 사항을 삭제합니다. 나는 그걸 지역 레포로 보낸 적이 없다고 생각한다."자식 재설정"변경 사항을 되돌리려면?

삭제 된 코드를 복원하는 방법이 있습니까? : L

+1

일반 'git reset', 일명'git reset --mixed'는 작업 파일을 건드리지 않습니다. 다른 일을 했니? 아마도'자식 재설정? – torek

+0

Nope. 난 그냥 .. 잘못 .. 커밋에서 파일을 제거하려고했는데, 지금 이해하고있는 것처럼 자식을 숨기고 싶다. 그러나 나는하지 않았습니다. 물론, 현지 지사에서 변경 사항을 찾을 수는 없습니다. – deb0rian

+0

실제로 이것은 내가 한 일입니다. '982 2014-02-25 12:48:28 git status 983 2014-02-25 12:48:38 git reset HEAD engine/SocialIntegFrontend.PHP 984 2014-02-25 12:48:46 git 상태 987 2014-02-25 12:49:06 git 재설정 HEAD js/ModuleVk.js 988 2014-02-25 12:49:25 git checkout - - js/ModuleVk.js ' 맞지 않습니까? – deb0rian

답변

3

git reset HEAD filename 그냥 기본적으로 (인덱스에 캐시 변경을 지 웁니다 (.../비교 지역의 역사를보십시오) 지역의 역사에서 찾을 수 있습니다, 상태 해제 git add).

git checkout -- js/ModuleVk.js 

이이 js/ModuleVk.jsHEAD 버전을 잡고, 인덱스에 쓴 :. 당신이 작업 복사본의 변화가 있고, 당신은 더 이상이 없다면, 뭔가 당신이했을 때 다른 사람에

그들을했다 그것을 작업 트리에 기록했습니다. 따라서 이 변경 사항을 위태롭게 할 수 있습니다.

당신이 했다이 전에 git add을 할 경우, 그래도 REPO는 add가 발생한 시간에 작업 파일의 복사본이 들어 있습니다. 이 같은 일부 메시지 수를 인쇄 할 수있는 git fsck --lost-found 이것을 찾을 수 있습니다

이 모든 .git 디렉토리가 차례로라는 두 개의 하위 디렉토리가됩니다 lost-found라는 이름의 하위 디렉토리를해야합니다 이루어집니다
dangling commit 7a07e53b3c753c93303c881605c81cc476c6a1de 
dangling blob 8177212592bb88a3c4614ee288d6a8a01dee0b42 
dangling commit 83630458b4317f5db42c3a306e299ca8c26a7ed9 
dangling blob b50f361891f38b85a5733b3124e261654ed457ad 
dangling blob b67bea2cf13d558e4092e9c1939b2273ac904f83 

commitother.

other의 파일에는 모두 SHA-1 이름이 있으므로 수동으로 봐야합니다. 어떤 코드가 .js 코드인지는 분명해야하지만, git add -ed 버전은 얼마나 까다로운가에 따라 달라집니다. git add이 실제로 커밋되지는 않았지만 시간이 지남에 따라 달라질 수 있습니다. (나는 습관적으로 git add 물건, git diff --cached, 일부는 git add 등으로 변경하기로 결정하고, 각각은 저장소에 "매달려있는 얼룩 (bangling blob)"을 넣습니다. 결국 gc'ed되어 디스크 공간이 쌉니다 ... .)

당신이 거기에있는 파일을 마친 후, 수동 .git/lost-found에서 모든 것을 제거 할 수 있습니다 : 한 번 가비지 컬렉터가 매달려 객체를 거둔다하더라도

rm -r .git/lost-found 

가 (당신이 다른 git fsck --lost-found로 나중에 다시 생성 할 수 있습니다 그들은 실제로 선을 그었습니다.하지만 기본적으로 "신선한"물체에 대해서는 적어도 2 주가 소요됩니다).

1

아니요, 파일이 없어지면 사라집니다.

이클립스를 사용하는 경우, 당신은 여전히 ​​

관련 문제