VC에 처음 들어가면 SVN을 사용하면서 내가하는 일을 이해하지 못했습니다. 나는 하나의 프로젝트를 서로 다른 트렁크에 유지했지만 동시에 모든 트렁크에 커밋을하여 동일한 커밋 메시지를 가진 여러 커밋을 발생 시켰습니다. 약 2 년 전에 나는 모든 트렁크를 깨뜨 렸고 하나의 트렁크에 그 다음 더 많은 것을 깨우고 repo를 git으로 바꾸었다. 이제는 소수의 지점으로 빠르고 유연한 레포를 가지고 있으며 더 행복 할 수 없었습니다 ...중복 커밋 메시지를 제거하기위한 히스토리 다시 쓰기
... 오래된 커밋 메시지가 모두 나를 괴롭 히고 있습니다. (그들은 내 레포에서 커밋의 약 1/3-1/2를 차지합니다.) 이것은 바로 git rebase
이 맞습니까? 한 복제본에 대해 실행 한 테스트를 시도했지만 내 분기의 나머지 부분에서 내 master
분기를 분리 한 것처럼 보였다. 나는 git rebase -i <sha>
으로 그 일을했고, 커밋 된 모든 커밋을 처음으로 압축했다. 내 지사 구조는 그대로 유지하고 싶습니다.
스쿼시를 보내려는 모든 중복 메시지는 svn=>git
변환을 수행하기 전에 발생했으며 모든 분기가 해당 변환 후에 시작되었습니다. 다시 말하면, svn=>git
변환 전의 전체 역사는 가지가없는 선형입니다.
또 다른주의 사항 -이 repo가 원격 저장소에 푸시되었습니다. 공유 리포지토리의 다시 쓰기 기록은 나쁜 소식이지만, 아무도 아직 내 원격에서 복제하거나 포크를 작성하지 않아서 만 고려할 것입니다. 내가 복제/포크 (fororking/forking)하기 전에 역사를 정리하고 싶습니다.
그래서 한 점까지 기록을 다시 쓰고 나머지는 그대로 둡니다. 이 엉망을 청소하는 데 도움이되는 다른 제안이 있습니까?
Ewww. 혼자서 떠나는 것이 여기 갈 길인 것 같습니다. 감사. – Clayton