2016-07-28 1 views
2

내 스크립트를 추적하기 위해 BitBucket에 git 저장소를 만들었습니다. 나는 단지 git에 대한 경험이 매우 제한적이다. 저는 리눅스와 윈도우의 조합을 사용 합니다만, 리눅스 공유에 매핑 된 드라이브가있는 Windows에서 git bash 쉘을 사용하여 저장소에 파일을 추가하고 있습니다.힘내는 나의 파일을 삭제했다. 복구 될 수 있습니까?

지난 며칠 동안 파일을 추가했지만 커밋 중 하나에서 잘못된 설명을 입력했습니다. 나는 이것을 고치고 해결책을 찾기를 원했다. 내가 발견 한 제안은 rebase를 사용하는 것이 었습니다. 나는 이것을 시도했지만 성공하지 못했기 때문에 나는 단지 잘못된 의견을 가지고 살기로 결심했다.

이 후 필자는 'git add'를 사용하여 저장소에 추가하고자하는 두 개의 스크립트를 만들었습니다.

커밋을 시도했을 때 "현재 '3ac74cb'에 분기 '마스터'를 리베이스하는 동안 커밋을 편집 중입니다. 이 메시지 뒤에는 파일 목록과 제안 사항이 무엇인지 알려주는 다른 줄이 있습니다. 불행히도이 모든 것이 이제는 터미널 버퍼 밖으로 옮겨져서 메시지가 무엇인지를 추적 할 수 없지만 기본적으로 메시지를 따랐습니다.

메시지 중 하나는 내가 끌어 당기는 것을 제안했습니다. 이는 내가 BitBucket에서 편집 한 텍스트 파일을 변경했기 때문입니다. 그래서 나는 또한 끌어 당겼다.

기본적으로 나는 풀을 한 다음 다시 커밋하고 밀어 넣습니다. 이 중 아무 것도 작동하지 않는 것 같아서 rebase 메시지를 없애기 위해 좀 더 인터넷 검색을 수행했습니다. 대답에 따라 나는 'git rebase -abort'를했다.

이 후, 내가 추가하려고했던 두 개의 스크립트가 사라졌습니다.

내 파일을 어딘가에서 되 찾을 수 있습니까? 이런 일을 잃을 여유가 없어서 어떻게 다시 일어나지 않도록 할 수 있습니까? git 사용의 모든 요점은 일을 잃지 않는 것입니다.

추가 정보가 필요하면이 엉망을 이해하고 시도해보십시오. 어떤 도움을 주셔서 감사합니다.

+0

첫 번째 단계로 원격 저장소 (bitbucket의 저장소)를 새 위치로 복제하고 이미 푸시 한 콘텐츠의 사본을 가져옵니다. 내가 취한 조치로 인해 무언가가 삭제되지는 않았지만 누군가가 당신을 도울 수있는 더 많은 경험을하게 할 것입니다. – Dror

답변

2

작업 디렉토리에 새 파일을 만들었을 때 rebase 작업 중간에 있었던 것처럼 들립니다. 불행히도 git rebase --abort을 사용하면 rebase 작업이 시작되었을 때의 위치로 헤드가 다시 설정됩니다. git status에 추적 할 수없는 파일이 표시되지 않으면 파일이 손실되었을 수 있습니다.

git rebase은 올바르게 사용할 때 매우 유용한 명령이지만 잘못 사용될 경우 많은 문제가 발생할 수도 있습니다.

나중에 참조 할 수 있도록 git commit -m <message> --amend을 사용하여 가장 최근의 커밋에 대한 커밋 메시지를 변경할 수 있습니다. 이렇게하면 나중에 같은 이유로 문제가 생기는 것을 막을 수 있습니다.

이 정보가 도움이되기를 바랍니다.

+0

답변 해 주셔서 대단히 감사합니다. rebase에 관한 문서를 읽었으며 나는 더 현명하지도 않다. 나는 그 목적이 무엇을 의미하는지 모른다. 왜 파일을 삭제하겠습니까? 그것은 경고없이 특히 현명한 일처럼 들리지 않습니다. 그것은 다른 모든 것에 대해 당신에게 죽음을 경고합니다. – jss

+0

'rebase'는 커밋 히스토리를 편집 할 수있게합니다. 원하지 않는 커밋을 제거하고 커밋을 결합하고 메시지를 변경할 수 있습니다. rebase를 중단하면 git은 시작했을 때의 위치로 다시 되돌려 놓았습니다. 좋은 습관은 어떤 작업보다'git status'를 사용하는 것입니다. 병합, 리베이스 또는 파일에 예상치 못한 변경 사항이있는 경우 사전에 알려드립니다. 나쁜 경험을해서 불편을 끼쳐 드려 죄송합니다.하지만 git을 사용하는 것이 좋습니다. 정말 훌륭한 도구입니다. – anierzad

+0

대단히 고마워요. 당신은 매우 도움이되었습니다 :-) 나는 심술 궂습니다.하지만 다른 것을 시도해 보겠습니다. – jss

관련 문제