svn转型到git过程中,一直有使用git svn场景,针对一些遇到的问题和常用功能总结一下:
1.git svn导出:
git svn clone “svn路径”
2.git svn提交:
git add .(或者对应的X文件)
git commit -m “log信息”
前两部可以合并成 git commit -am “log信息”
git svn dcommit(最后一步提交到了svn上)
3.git svn更新:
git svn rebase
4.git svn部分提交:
git add “xx文件”
git commit -m “log信息”
git stash(重要一步,把本地未提交的文件缓存)
git svn dcommit
git stash apply恢复本地修改。
5.git svn更新后冲突处理:
提交本地修改之前需要先同步svn或远程修改,容易有一些与本地修改的冲突问题,如下所示。
$ git svn rebase
README: needs update
i386_config.mk: needs update
update-index --refresh: command returned error: 1
网上提到的解决方式是本地做branch然后先更新在merge,我觉得比较麻烦。我的方式:
1.git stash
2.git svn rebase
3. git stash apply
4. 如果提示冲突:git修改就可以了。
6.放弃本地修改:
git reset –hard HEAD
7.git svn 创建分支:
git svn branch “xx branch” -m “xxx log”。创建远程svn服务器的branch,附上log信息。