«git-filter-branch» 태그된 질문

git filter-branch는 브랜치를 광범위하게 다시 작성하는 데 사용되는 기본 Git 도구이며 Git 저장소 기록에서 원하지 않는 큰 파일이나 비밀 파일을 제거하는 데 자주 사용됩니다.

30
Git에서 여러 커밋의 작성자와 커미터 이름 및 전자 메일을 변경하는 방법은 무엇입니까?
На этот вопрос есть ответы на 스택 오버플로 на русском : Поменять у автора и коммитера емейл и имя во всех коммитах 나는 학교 컴퓨터에서 간단한 스크립트를 작성하고 Git (내 펜 드라이브에있는 저장소에서 집의 컴퓨터에서 복제 된 저장소)에 변경 사항을 적용했습니다. 몇 번의 커밋 후에 나는 루트 사용자로 물건을 커밋하고 …

25
하위 디렉토리를 별도의 Git 저장소로 분리 (이동)
여러 하위 디렉토리가 포함 된 Git 저장소가 있습니다. 이제 하위 디렉토리 중 하나가 다른 디렉토리와 관련이 없으며 별도의 저장소로 분리해야한다는 것을 알았습니다. 서브 디렉토리 내에 파일 히스토리를 유지하면서 어떻게해야합니까? 복제본을 만들고 각 복제본의 원치 않는 부분을 제거 할 수 있다고 생각하지만 이전 버전 등을 확인할 때 완전한 트리를 제공한다고 가정합니다. …

12
잘못된 병합을 수정하고 올바른 병합을 고정 병합으로 재생하는 방법은 무엇입니까?
나는 실수로 원하지 않는 파일 ( filename.orig병합을 해결하는 동안)을 커밋하기 전에 저장소에 저장했지만 지금까지는 알지 못했습니다. 리포지토리 기록에서 파일을 완전히 삭제하고 싶습니다. filename.orig처음에는 저장소에 추가되지 않은 변경 히스토리를 다시 작성할 수 있습니까?

11
Git 히스토리에서 민감한 파일과 커밋 제거
Git 프로젝트를 GitHub에 배치하고 싶지만 중요한 데이터가 포함 된 특정 파일 (사용자 이름 및 비밀번호, capistrano의 경우 /config/deploy.rb)이 포함되어 있습니다. 이 파일 이름을 .gitignore에 추가 할 수 있지만 Git 내에서 기록을 제거하지는 않습니다. 또한 /.git 디렉토리를 삭제하여 다시 시작하고 싶지 않습니다. Git 히스토리에서 특정 파일의 모든 흔적 을 제거하는 방법이 …

11
자식 저장소에서 이전 기록을 제거하려면 어떻게합니까?
이 특정 시나리오와 비슷한 것을 찾지 못했습니다. 500 개 이상의 지점, 500 개 이상의 태그, 2007 년 중반으로 거슬러 올라가는 역사가 많은 자식 저장소가 있습니다. ~ 19,500 개의 커밋이 포함되어 있습니다. 2010 년 1 월 1 일 이전에 모든 기록을 제거하여 더 작고 다루기 쉽도록 만들었습니다 (기록의 전체 사본을 보관 …

10
많은 하위 디렉토리를 별도의 새로운 Git 저장소로 분리
이 질문은 별도의 Git 저장소로 분리 하위 디렉토리를 기반으로 합니다. 하나의 하위 디렉토리를 분리하는 대신 부부를 분리하고 싶습니다. 예를 들어, 현재 디렉토리 트리는 다음과 같습니다. /apps /AAA /BBB /CCC /libs /XXX /YYY /ZZZ 그리고 대신 이것을 원합니다 : /apps /AAA /libs /XXX --subdirectory-filter에 인수 git filter-branch가 지정된 디렉토리를 제외하고 처음으로 …


4
Git 리포지토리에서 파일을 제거하지 못했습니다. 새 백업을 만들 수 없습니다.
다음을 실행하여 원격 저장소에서 파일을 제거하려고했습니다. git filter-branch --index-filter 'git rm --cached --ignore-unmatch Rakefile' HEAD 하지만 힘내는 불평 새 백업을 생성 할 수 없습니다. 이전 백업이 이미 refs / original /에 있습니다. -f로 백업을 강제 덮어 씁니다. rm : 제거 할 수 없습니다. /.git-rewrite/backup-refs : 권한이 거부되었습니다. rm : 디렉터리를 …

8
git rm-치명적 : 경로 사양이 파일과 일치하지 않음
실수로 9000 장 이상의 사진을 프로젝트 폴더에 추가했습니다. 그리고 그들을 맡겼습니다. 그런 다음 디스크에서 삭제했습니다. 헌신적이다. 이제 변경 사항을 git 서버에 푸시하려고합니다. 그러나 너무 오래 걸리고 12Gb의 데이터를 보내려고합니다. 디스크의 파일 크기를 확인한 결과 실제로 .git폴더가 12Gb를 차지하는 것을 확인했습니다 . 거기에서 사진을 삭제하는 방법 ? 시도 git rm했지만 실패했습니다. …

5
큰 Git 저장소를 여러 개의 작은 저장소로 분할
SVN 리포지토리를 Git으로 성공적으로 변환 한 후 이제 여러 개의 작은 리포지토리로 나누고 기록을 유지하려는 매우 큰 Git 리포지토리를 갖게되었습니다. 따라서 누군가 다음과 같은 repo를 분해하는 데 도움을 줄 수 있습니까? MyHugeRepo/ .git/ DIR_A/ DIR_B/ DIR_1/ DIR_2/ 다음과 같은 두 개의 저장소로 : MyABRepo/ .git DIR_A/ DIR_B/ My12Repo/ .git DIR_1/ …

3
Git 저장소 및 GitHub의 원격에서 파일을 완전히 제거
실수로 이미지 폴더를 추가하고 커밋했습니다. 그런 다음 한 번 더 커밋했습니다. 그런 다음 사용하여 해당 파일을 제거 git rm -f ./images하고 다시 커밋했습니다. 지금은 그 브랜치 (마스터)에서 더 많은 커밋을했습니다. 내 HEAD에는 해당 ./static/images폴더 가 없습니다 . 이로 인해 내 저장소 크기가 많이 증가했습니다. 이러한 Blob을 완전히 제거하려면 어떻게해야합니까? 그리고 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.