git-svn dcommit에 문제가있어서 git 리포지토리가 커밋을 추적하지 못합니다.Git-Svn dcommit이 브랜치 분할을 발생시킵니다.
나는 git의 master 브랜치가 항상 SVN 저장소의 트렁크를 따르는 지 확인하려고한다. 그래서 내가 일할 때마다 나는 주제 분야에있다.
내가 여기까지
git checkout master
git svn rebase #get any changes in svn
git rebase master my-topic
git merge my-topic --ff-only
을 마스터 다시 내 지점을 병합하고 싶습니다 결정
git checkout -b my-topic
git commit -m "blah blah blah"
그리고 잠시 동안 토픽 브랜치에서 작업, 모든 : 여기 내 시나리오입니다 잘 지냈어 요. 지금은 마스터와 속도 커밋 같은 가리키는까지 내 주제를 모두 가지고 있고, 전체 역사는 다음과 같습니다
A -- B -- C - master + my-topic
을 그러나, 나는
git svn dcommit
내가 끝낼 할 때 이처럼 보이는 나무 (B와 C가 커밋 내가 원래 주제로 만들어진) :
그것은 dcommit 과정처럼 보인다-- B -- C - my-topic
/
A -- B -- C - master + remotes/trunk
가, 자식이 SVN까지 커밋을 밀어 다음 위에 그들을 다시 재생합니다 석사. 내가 생각하는 문제는 다른 커미터 정보를 얻는다는 것이다. 난 거북이 plink와 SSH 키로 svn에 로그인하고 있습니다. SVN 저장소에 밀려 한
Collin Hockey <[email protected]>
커밋 그래도이 있습니다 :
chockey <[email protected]>
이있는 한 SVN에 밀어되지 않은 자식 저장소에
커밋은 커미터 정보가 내가이 가지들을 나누어 줄 수있는 어떤 방법이라도?
git rebase master my-topic
다시 한번 말하면 고칠 수 있지만 그럴 필요는 없다고 생각합니다. 이것의 주된 문제점은 일단 브랜치의 변경 사항이 SVN에 푸시되면 git은 그 브랜치가 어디서나 병합되었다고 생각하지 않는다는 것입니다. 더 이상 필요없는 이전 브랜치를 삭제하는 것은 혼란 스럽습니다.
조금 더 잘 작동하는 것처럼 보이지만 커밋은 여전히 다릅니다 (다른 시간도 있습니다). 실제로 새로운 커밋이되지 않도록 (또는 두 브랜치에서 커밋을 자동으로 업데이트하는) 방법이 있습니까? 아니면 git-svn 브리지를 사용하는 것입니다. – Collin
@Collin git-svn이 작동하는 방식입니다. SVN이 커밋을 제공하고 Git이이를 충실하게 반영합니다. 이 동작을 변경할 수있는 방법은 없습니다 (물론 Git-SVN 동기화 도구를 직접 작성하는 경우 제외). –
정보를 제공해 주셔서 감사합니다. 나는 dcommit-ing 후에 내 브랜치를 rebase하는 것에 만 충실 할 것이다. 저자 파일은 내 역사를 훨씬 더 예쁘게 만듭니다. :) – Collin