문제

이미 SVN 읽기 전용 Repo Checked (SVN CO 및 GIT SVN이 아님)가 있습니다. 나는 GIT를 사용하여 약간의 변경을했고 Commits는 Github로 밀려납니다.

이 시점에서 Git은 SVN의 모든 역사를 가지고 있지 않습니다. 이 시점에서 이것을 추출하고 수입 할 수있는 방법이 있는지 궁금합니다.

다양한 GIT-SVN 가이드는 깨끗한 리포를 가져오고 기록을 전송하는 방법을 보여 주지만 이미 사용중인 것을 찾을 수있는 것은 아닙니다.

도움이 되었습니까?

해결책

SVN 가져 오기를 신선한 git 저장소로 가져와야하고 두 리포지토리를 병합해야합니다 (함께 추가하면 아마도 관련이없는 것에 대해 불평 할 것입니다). 레바 제 수입 기록에 대한 변화.

다른 팁

완료합니다 thilo'에스 좋은 대답, SVN Repo를 GIT로 가져온 후에는 자세한 내용과 같이 스크립트를 사용하여 해당 git 저장소를 추가 할 수 있습니다. 관련없는 git 지점에서 병합

#!/bin/bash

set -e

if test -z "$2" -o -n "$3"; then
    echo "usage: $0 REPO BRANCHNAME" >&2
    exit 1
fi

repo=$1
branch=$2

git fetch "$repo" "$branch"

head=$(git rev-parse HEAD)
fetched=$(git rev-parse FETCH_HEAD)
headref=$(git rev-parse --symbolic-full-name HEAD)

git checkout $fetched .

tree=$(git write-tree)

newhead=$(echo "merged in branch '$branch' from $repo" | git commit-tree $tree -p $head -p $fetched)
git-update-ref $headref $newhead $head
git reset --hard $headref

다른 방법은 다음과 같습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top