git-svn 的使用

  • 从 SVN 克隆代码
git svn clone https://192.168.1.3/svn/project-name
 
  • git-svn 初始化
git svn init (svn remote url)
git svn fetch 或者 git svn fetch -r 1342:HEAD (只从其中某个版本开始进行 fetch )
 
  • 获取最新代码
git checkout master
git svn rebase
 
  • 创建自己的分支
git branch work
 
  • 修改代码后提交
git commit -a -m "message"
日常修改和提交
git checkout -b work
git commit -a
 
  • 获取最新代码后更新自己的分支
git checkout work
git rebase master
当 rebase 出现 permission denied 时,如

$ git rebase master
First, rewinding head to replay your work on top of it...
error: cannot stat 'bin/release/sdk': Permission denied
error: cannot stat 'bin/release/sdk': Permission denied
could not detach HEAD

可以尝试重新启动 explorer 进程,再次执行 git rebase master 
 
 
  • 合并主分支
在 git-svn 环境下,推荐使用 rebase 方式
merge 之后保留了被 merge 分支的历史状态,而 rebase 则是将两个分支拼成同一个分支,版本历史中不再单独显示被合并的分支。
 
  • 解决冲突
编辑冲突后保存
git add 冲突文件
git rebase --continue
git svn dcommit 
 
  • 推送到远程 SVN 服务器
git svn dcommit
 
  • 添加远程 GIT 服务器
git remote add origin (git remote url)
 
  • 推送到远程 GIT 服务器
git push origin --all
 
  • 设置忽略文件
git svn show-ignore 显示 SVN 已有的忽略内容
git svn show-ignore > .git/info/exclude  不会提交 .gitignore 文件到 svn
git svn create-ignore 自动建立对应的 .gitignore 文件,会在下次提交到 svn

 

  

 

posted @ 2016-11-01 13:22  owenlang  阅读(353)  评论(0编辑  收藏  举报