programing

git-svn: git를 통해 새 svn 브랜치를 만들려면 어떻게 해야 합니까?

starjava 2023. 7. 11. 21:24
반응형

git-svn: git를 통해 새 svn 브랜치를 만들려면 어떻게 해야 합니까?

나는 svn 저장소를 추적하는 git 저장소를 가지고 있습니다.다음을 사용하여 복제했습니다.--stdlayout.

다음을 통해 새 로컬 지점을 만들었습니다.git checkout -b foobar

이제 나는 이 지점이 끝이 났으면 합니다.…/branches/foobarsvn 저장소에 있습니다.

어떻게 하면 좋을까요?

(많은 조사 텍스트를 캡처했습니다.관심 있는 경우 질문 기록 보기)

얼마 전에 이 질문에 답한 적이 있다는 것을 알지만, 읽은 후 특정 gitsvn branch 명령의 예를 추가하고 일반적인 워크플로우와 관련시키는 데 도움이 될 수 있습니다.

kch가 대답한 것처럼, 사용합니다.git svn branch다음은 전체 예입니다. (참고:-n테스트할 모의 실행용):

git svn branch -n  -m "Branch for authentication bug" auth_bug

이 문제가 잘 해결되면 서버는 다음과 같은 대답으로 응답합니다.

r8914의 https://scm-server.com/svn/portal/trunk 을 https://scm-server.com/svn/portal/branches/auth_bug 으로 복사하는 중...

그리고 그것 없이.-nswitch 서버는 다음과 같은 기능을 추가합니다.

가능한 분기점 발견: https://scm-server.com/svn/portal/trunk => https://scm-server.com/portal/branches/auth_bug, 8914

분기 상위 발견: (refs/remote/auth_bug)

d731b1fa028d30d685fe260f5bb912cbf59e1971

do_switch를 사용하여 상위 항목을 따릅니다.

상위 r8915 = 6ed10c57afec62e9077fbeed74a326ea4863b8을 성공적으로 따릅니다.

(refs/remote/auth_bug)

가장 좋은 점은 다음과 같이 원격 지점을 기반으로 로컬 지점을 생성할 수 있다는 것입니다.

git checkout -b local/auth_bug auth_bug

즉, "체크아웃하고 이름이 지정된 로컬 지점을 만듭니다.auth_bug원격 분기(마지막 매개 변수)를 따르도록 합니다.auth_bug

다음을 사용하여 로컬 분기가 해당 원격 분기에서 작동하는지 테스트합니다.dcommit와 함께--dry-run(-n):

git svn dcommit -n

그리고 SVN 서버는 새 지점 이름으로 응답해야 합니다.

https://scm-server.com/svn/portal/branches/auth_bug 에 커밋하는 중...

git v1.6.1 기준,git svn branch사용할 수 있습니다.

Git 문서에서:

분점SVN 저장소에 분기를 생성합니다.

-m, --반드시.커밋 메시지를 지정합니다.

-t, --태그branch_subdir 대신 tags_subdir를 사용하여 태그를 생성합니다.git svn init에서 지정합니다.

이전 버전의 git에서는 svn 분기를 생성할 수 없습니다.

@kch I just (2008년 12월 7일)는 git의 v1.6.1-rc1 태그를 컴파일했으며 gitsvn branch 명령과 이에 대한 설명서를 포함하고 있습니다.따라서 v1.6.1 릴리스의 git에는 (바라건대) 이 명령이 포함되어 있어야 합니다.

언급URL : https://stackoverflow.com/questions/266395/git-svn-how-do-i-create-a-new-svn-branch-via-git

반응형