찾다

 >  Q&A  >  본문

如何删除github上的一个项目的内容,重新提交所有内容

刚上传了vs项目到github,但是忘记搞gitignore文件,导致项目上传的体积太大,

现在不知道怎么办了?

删除里面所有文件,写好gitignore文件后重新commit然后push?

高洛峰高洛峰2809일 전804

모든 응답(7)나는 대답할 것이다

  • 大家讲道理

    大家讲道理2017-04-22 09:01:48

    git rm -r --cache . 자식 추가 . git commit -m "gitignore 작업 중"

    처음 질문을 제출했을 때 시스템에서 오랫동안 검토하지 않아서 검색해봤습니다. 사실 어젯밤에 stackoverflow에서 답을 찾았습니다. 하지만 어쨌든 모두 고마워요. http://stackoverflow.com/questions/1139762/gitignore-file-not-ignoring

    회신하다
    0
  • 阿神

    阿神2017-04-22 09:01:48

    링크설명을 입력해주세요

    또한 많은 수의 커밋을 스크립트 방식으로 수정하려는 경우 기록을 다시 작성하는 옵션도 있습니다. 예를 들어 이메일 주소를 전체적으로 변경하거나 모든 커밋에서 파일을 제거하는 경우입니다. 이 명령은 필터 분기이며 기록을 광범위하게 수정하므로 프로젝트가 아직 공개되지 않았고 수정하려는 커밋에 대해 다른 사람이 작업하지 않는 한 이 명령을 사용해서는 안 됩니다. 그래도 이것은 매우 유용할 수 있습니다. 그 기능에 대한 아이디어를 얻기 위해 몇 가지 일반적인 용도를 배우게 됩니다.

    모든 커밋에서 파일 제거 이런 일이 자주 발생합니다. 어떤 사람들은 아무 생각 없이 git add 를 사용하여 실수로 어디서나 삭제하고 싶은 거대한 바이너리를 커밋합니다. 실수로 비밀번호가 포함된 파일을 커밋하고 프로젝트를 오픈 소스로 만들고 싶을 수도 있습니다. filter-branch는 아마도 전체 기록을 정리하는 데 사용하는 도구일 것입니다. 전체 기록에서 Password.txt라는 파일을 제거하려면 filter-branch에서 --tree-filter 옵션을 사용할 수 있습니다:

    $ git filter-branch --tree-filter 'rm -f 비밀번호.txt' HEAD 6b9b3cf04e7c5686a9cb838c3f36a8cb6a0fc2bd 다시 작성 (21/21) 참조 'refs/heads/master'가 다시 작성되었습니다. --tree-filter 옵션은 지정된 명령을 실행한 다음 프로젝트가 체크아웃될 때마다 결과를 다시 제출합니다. 이 예에서는 존재 여부에 관계없이 모든 스냅샷에서 Password.txt라는 파일을 삭제합니다. 실수로 커밋된 모든 편집기 백업 파일을 삭제하려면 git filter-branch --tree-filter 'rm -f *~' HEAD와 같은 명령을 실행하면 됩니다.

    Git이 디렉토리 트리를 다시 작성하고 커밋한 다음 분기 포인터를 끝으로 이동하는 것을 볼 수 있습니다. 더 나은 접근 방식은 테스트 브랜치에서 이 작업을 수행한 다음 제품이 실제로 원하는 제품인지 확인한 후 마스터 브랜치를 강제 재설정하는 것입니다. 모든 브랜치에서 filter-branch를 실행하려면 --all을 명령에 전달할 수 있습니다.

    하위 디렉터리를 새 루트 디렉터리로 설정 다른 코드 제어 시스템에서 가져오기를 완료했고 의미 없는 하위 디렉터리(트렁크, 태그 등)가 있다고 가정해 보겠습니다. 트렁크 하위 디렉터리가 각 제출의 새 프로젝트 루트 디렉터리가 되도록 하려면 filter-branch를 사용하면 도움이 될 수도 있습니다.

    $ git filter-branch --subdirectory-filter 트렁크 HEAD 856f0bf61e41a27326cdae8f09fe708d679f596f 다시 작성 (12/12) 참조 'refs/heads/master'가 다시 작성되었습니다. 이제 프로젝트 루트 디렉터리는 트렁크 하위 디렉터리입니다. Git은 이 하위 디렉터리에 영향을 주지 않는 커밋을 자동으로 삭제합니다.

    회신하다
    0
  • 大家讲道理

    大家讲道理2017-04-22 09:01:48

    으아악

    회신하다
    0
  • 阿神

    阿神2017-04-22 09:01:48

    비교적 초보 솔루션 제공: 프로젝트에 들어가서 -->설정-->이 저장소를 삭제한 다음 새 저장소를 생성하면 완료됩니다.

    회신하다
    0
  • 阿神

    阿神2017-04-22 09:01:48

    을 사용해야 합니다. 으아악

    자세한 내용은 Git의 실행 취소 작업(재설정, 체크아웃, 실행 취소)을 참조하세요. http://www.liuhui998.com/4_9.html

    모든 변경 사항을 취소하고 가장 최근 커밋으로 돌아가고 싶다고 가정해 보겠습니다. 명령은 다음과 같습니다.

    으아악

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-04-22 09:01:48

    프로젝트 홈페이지——>설정——>이 저장소 삭제——>다시 제출 좋아요, 저도 잘 사용하지 못합니다

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-04-22 09:01:48

    먼저 백업하거나 먼저 커밋(피투성이 교훈)

    git Reset --hard YOUR HEAD

    제출된 기록의 선두를 조회하는 방법

    git reflog || git 로그

    회신하다
    0
  • 취소회신하다