目前公司使用的是 svn,但我比较依赖 git 的本地仓库的使用,所以我使用了 git 的 git-svn 来兼容我的需求
我整理了一份使用文档,并使用了几个月了(顺便跟大家分享下):
git svn clone svn://xxx.xx/code
可选参数:
--no-metadata
使用此参数时,拉取下来的仓库将会变成独立仓库,之前的提交信息都在,但之后的所有与 svn 远程仓库的相关拉取
和提交
都不会成功
提交分为两个步骤,首先将暂存区文件提交到 git 本地仓库,然后再上传到 svn 远程仓库
git 提交
git commit -m"git 提交"
git-svn 提交
dcommit
会将 git repo 当前 branch 与远程 svn repo 中的差异的 git commit 都提交到 svn repo ,并为每个 git commit 生成一个对应的 svn revision 。这和”git push”很类似。
git svn dcommit
git svn rebase
但是, 有些使用上的便利性问题想请教下,每次我使用 IDEA 的commit
功能提交到本地仓库后,都需要再打开一次终端并手动执行一次git svn dcommit
,这个步骤很容易忘记
我期望能在 IEDAcommit
动作后, 可以设置一个按钮或者脚本,绑定到快捷键,用来代替上述需要打开终端执行dcommit
的操作, 不知道大家有没有解决过类似的需求
还有拉代码的操作也需要在终端输入git svn rebase
来完成, 这个动作我也期望能不打开终端就能完成
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.