2010-02-14 3 views
6

개인 서브 버전 프로젝트를 git (Github)로 전환하고 코드를 공개합니다. 그러므로, 나는 초보자이다.힘내 : 단일 원격 개정판을 삭제하십시오

불행히도 기밀 데이터가 포함 된 프로젝트 개정판이 있습니다. 개정판에는 태그가 지정되지 않았으므로 해시 값만 알면됩니다.

원격 저장소에서 특정 버전을 완전히 지우는 방법이 있습니까? 솔로 프로젝트이므로 아무도 작업에서 해를 입을 수 없습니다.

+0

GitHub의 "중요한 데이터 제거"를 참조하십시오. http://help.github.com/removing-sensitive-data/ –

+0

가능한 복제본 : http://stackoverflow.com/questions/872565/how-do- i-remove-sensitive-files-gits-history –

+0

연결하는 자습서는 내 문제에 대한 해결책을 제공하지 않습니다. 단지 모든 버전에서 파일을 삭제합니다. 나는 그 파일을 지우고 싶지 않고 단지 그 개정판을 지우고 싶다. 어쨌든, 나는 또 다른 의문점을 찾아 인터넷 검색으로 해결책을 찾을 수있었습니다. – dgraziotin

답변

3

게시 된 게시물 here 내 문제가 해결되었습니다.

당신이 수정하려는 커밋 한 가장 최신이 아닌 경우 : 당신이 몇 가지 결함이 커밋 해결의 가장 오래된 하나의 부모를 전달하려는 경우

  1. git rebase --interactive $parent_of_flawed_commit

    그들.

  2. 작성한 모든 커밋 목록이있는 편집기가 나타납니다.

    1. 당신이 수정하려는 커밋의 앞에 edit로 변경 pick.
    2. 저장하면 git은 위의 커밋을 재생합니다. (가) 당신이 좋아하는 임의의 방법으로 커밋

      1. 변경 : 망할 놈의 모든의 쉘에 다시 떨어질 것
    3. 는 편집하려는 말했다 커밋합니다. 당신이가는대로이 순서의 대부분

  • git rebase --continue
  • git commit --amend
  • 다양한 명령의 출력에 의해 당신에게 설명한다. 그것은 매우 쉽습니다. 암기 할 필요가 없습니다. git rebase --interactive은 얼마 전까지 만 커밋을 수정할 수 있음을 기억하십시오.

    +0

    서식을 주셔서 감사합니다. jleedev – dgraziotin

    +0

    '편집'대신 '스쿼시'를 사용하면 훨씬 쉽습니다. –

    관련 문제