2015년 3월 4일 수요일

git 관련 명령어 모음

// 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)



댓글 없음: