我可以让git-svn更像git吗?

时间:2009-03-09 03:52:42

标签: git git-svn

是否可以(或希望?!)将git svn设置为更像git?例如,而不是写

git svn dcommit

为什么我不能写

git push

同样,而不是

git svn rebase

为什么不只是

git pull 

3 个答案:

答案 0 :(得分:8)

git和svn在哲学上是不同的,推/拉是关键差异之一。

虽然我可以说你提出的建议是根本错误的(你甚至在你的问题中提出建议),你可以通过别名和一些精神重新布线来实现你的目标。

这些并不完美,但可能适合您或给您一些想法。

#file: .git/config
# assumes your svn-remote is called svn
alias.co = git config svn-remote.svn.url > /dev/null && git svn rebase || git pull --rebase
alias.ci = git config svn-remote.svn.url > /dev/null && git svn dcommit || git push

答案 1 :(得分:2)

git与svn不同。 git-svn是一个扩展,允许人们使用git和svn。

一次碰撞就是结账行动,你指的是哪种结账? “svn checkout”或“git checkout”或“git svn clone”。

另一个是“提交”,本地“git commit”,远程“svn commit”:P

这并不是说,他们无法通过查看配置来隐藏更多的差异。

答案 2 :(得分:2)

要在使用Subversion存储库时使用标准Git工作流程和命令,您可以使用SubGit(http://subgit.com/)而不是git-svn。

SubGit运行速度更快,不需要您使用“git rebase”保持历史记录线性,并允许您使用任何Git客户端进行推送。

免责声明:我是SubGit的开发者。