github와 함께 git 저장소를 사용하고 있습니다. 저장소에있는 모든 커밋과 로그를 사용하여 특정 사용자 (예 : User1)에서 모든 커밋을 제거해야합니다. 그의 커밋을 모두 제거하려면 어떻게해야합니까?특정 사용자의 모든 커밋을 제거 할 수 있습니까?
4
A
답변
7
예. 멘 페이지 git filter-branch
은 기성품 예제를 제공합니다 : 이것은 작업 트리에서 "Darl McBribe"의 모든 커밋을 제거합니다 (귀하의 경우 이것은 User1
입니다). 당신의 repo의 역사를 변경할 때 항상,
skip_commit()
{
shift;
while [ -n "$1" ];
do
shift;
map "$1";
shift;
done;
}
을 :하지만 당신이 he'll be in trouble를 수정하기 전에 누군가의 repo에서 가져온 경우 기능 skip_commit
는 다음과 같이 정의된다
git filter-branch --commit-filter '
if [ "$GIT_AUTHOR_NAME" = "Darl McBribe" ];
then
skip_commit "[email protected]";
else
git commit-tree "[email protected]";
fi' HEAD
.
2
예, git filter-branch
으로이 작업을 수행 할 수 있지만이 작업을 수행 할 때 고려해야합니다. 특히 다른 커밋이 제거되어야하는 사용자의 커밋을 기반으로하는 경우.
필터링해야하는 커밋이 거의없는 경우에는 cherry pick 및 rebase를 사용해야합니다.
관련 문제
- 1. 특정 커밋 이전에 모든 자식 데이터를 제거 할 수 있습니까?
- 2. Subversion에서 커밋을 삭제할 수 있습니까?
- 3. git의 모든 브랜치에 커밋을 적용 할 수 있습니까?
- 4. 특정 사용자의 커밋을 새 분기로 이동하는 방법은 무엇입니까?
- 5. 오래된 커밋을 리베이스 할 수 있습니까?
- 6. Mercurial에서 커밋을 스쿼시 할 수 있습니까?
- 7. Mercurial에서 커밋을 업데이트 할 수 있습니까?
- 8. 어떻게 특정 도메인에서 쿠키를 제거 할 수 있습니까?
- 9. WakeLock을 제거 할 수 있습니까?
- 10. Facebook에서 사용자의 친구를 초대 할 수 있습니까?
- 11. 수정 내역에서 특정 파일 제거
- 12. 모든 사용자의 쿠키 무효화
- 13. 레일즈 3에서 _snowman을 제거 할 수 있습니까?
- 14. GIT에서 모든 커밋을 지우시겠습니까?
- 15. Git에서 특정 커밋을 병합하는 방법
- 16. gemfile에서 보석 버전을 제거 할 수 있습니까?
- 17. 커밋 전에 제거 된 커밋을 삽입하고 제거 된 커밋을 되돌리는 방법?
- 18. 특정 사용자의 프로세스 나열
- 19. git bisect가 다음에 시도 할 커밋을 어떻게 찾을 수 있습니까?
- 20. Windows에서 로컬 사용자의 홈 폴더를 열거 할 수 있습니까?
- 21. git : 특정 작성자가 모든 커밋을 별도의 분기로 리베이스하는 방법은 무엇입니까?
- 22. 다른 사용자의 세션을 종료 할 수 있습니까?
- 23. 특정 사용자의 SHGetFolderPath()
- 24. GIT에서 커밋을 잃어 버렸습니다. 실수로 커밋을 삭제할 수 있습니까?
- 25. 특정 사용자와 태그 된 모든 사진을 다운로드 할 수 있습니까?
- 26. TortoiseSVN/subversion의 특정 커밋에서 모든 정보를 인쇄 할 수 있습니까?
- 27. 특정 폼의 모든 열린 인스턴스를 반복 할 수 있습니까?
- 28. 중앙 저장소로 커밋을 푸시 할 수 없음
- 29. 특정 사용자의 프록시로 로그인
- 30. 동적 클래스에서 속성을 제거 할 수 있습니까?