是否有可能(或可取?!)设置git svn
为更像git
?例如,而不是写
git svn dcommit
为什么我不能写
git push
同样,而不是
git svn rebase
为什么不只是
git pull
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
git 与 svn 不同。git-svn 是一个允许人们将 git 与 svn 一起使用的扩展。
一个冲突是结帐操作,您是指哪种结帐?“svn checkout”或“git checkout”或“git svn clone”。
另一个是“commit”,本地“git commit”,远程“svn commit”:P
这并不是说,他们无法通过查看配置来隐藏更多差异。
要在使用 Subversion 存储库时使用标准 Git 工作流程和命令,您可以使用 SubGit ( http://subgit.com/ ) 而不是 git-svn。
SubGit 运行速度更快,不需要您使用“git rebase”保持历史线性,并允许您使用任何 Git 客户端进行推送和拉取。
免责声明:我是一名 SubGit 开发人员。