// svn to git 마이그레이션
$ git svn clone --stdlayout --no-metadata -A users.txt svn://example.com/repository/projectname
$ cd projectname
// 아래 users.txt 만드는건데 perl 이 없어서 그런지.. 안되네요... ㅠ
//$ svn log ^/ --xml | grep -P "^<author" | sort -u | \ perl -pe 's/<author>(.*?)<\/author>/$1 = /' > users.txt
// ignore file처리
$ git svn show-ignore -i trunk > .gitignore
// remote git 지정
$ git remote add origin git@git.example.com:group/projectname.git
// tags 처리
$ git for-each-ref refs/remotes/tags | cut -d / -f 4- | grep -v @ | while read tagname; do git tag "$tagname" "tags/$tagname"; git branch -r -d "tags/$tagname"; done
// branches 처리
$ git for-each-ref refs/remotes | cut -d / -f 3- | grep -v @ | while read branchname; do git branch "$branchname" "refs/remotes/$branchname"; git branch -r -d "$branchname"; done
// push한다.
$ git push origin --all
$ git push origin --tags
// revert local commit
git reset —hard remotes/origin/HEAD
-----------
// backup
$ sudo gitlab-rake gitlab:backup:create
// restore (가장 최근꺼 복원)
$ sudo gitlab-rake gitlab:backup:restore
// restore OPTION (아래 지정한 타임스탬프로 복원시켜준다는건가.. 안해봄..)
BACKUP=timestamp_of_backup (required if more than one backup exists)
댓글 없음:
댓글 쓰기