请教下 IDEA 中使用 git-svn 有什么比较方便的办法

123 天前
 Vaspike

目前公司使用的是 svn,但我比较依赖 git 的本地仓库的使用,所以我使用了 git 的 git-svn 来兼容我的需求

我整理了一份使用文档,并使用了几个月了(顺便跟大家分享下):

Git svn

clone 一个 svn 项目

git svn clone svn://xxx.xx/code

可选参数:

--no-metadata

使用此参数时,拉取下来的仓库将会变成独立仓库,之前的提交信息都在,但之后的所有与 svn 远程仓库的相关拉取提交都不会成功

提交

提交分为两个步骤,首先将暂存区文件提交到 git 本地仓库,然后再上传到 svn 远程仓库

  1. git 提交

    git commit -m"git 提交"
    
  2. git-svn 提交

    dcommit会将 git repo 当前 branch 与远程 svn repo 中的差异的 git commit 都提交到 svn repo ,并为每个 git commit 生成一个对应的 svn revision 。这和”git push”很类似。

    git svn dcommit
    

从 svn repo 拉取最新代码变更

git svn rebase

但是, 有些使用上的便利性问题想请教下,每次我使用 IDEA 的commit功能提交到本地仓库后,都需要再打开一次终端并手动执行一次git svn dcommit,这个步骤很容易忘记

我期望能在 IEDAcommit动作后, 可以设置一个按钮或者脚本,绑定到快捷键,用来代替上述需要打开终端执行dcommit的操作, 不知道大家有没有解决过类似的需求

还有拉代码的操作也需要在终端输入git svn rebase来完成, 这个动作我也期望能不打开终端就能完成

872 次点击
所在节点    问与答
1 条回复
Vaspike
123 天前
解决了这个问题了同志们:
要在 IntelliJ IDEA 中实现自动执行 git svn dcommit 和 git svn rebase 的功能,您可以使用自定义的外部工具配置。以下是步骤:

1. 配置外部工具
打开 IntelliJ IDEA 。
在菜单中选择 File > Settings ( Windows/Linux )或 IntelliJ IDEA > Preferences ( macOS )。
在左侧的菜单中选择 Tools > External Tools 。
点击右侧的 + 按钮添加新的外部工具。
添加 dcommit
Name: Git SVN dcommit
Program: /usr/bin/git (请根据您的系统路径调整)
Arguments: svn dcommit
Working Directory: $ProjectFileDir$
添加 rebase
Name: Git SVN rebase
Program: /usr/bin/git (同样根据您的系统路径调整)
Arguments: svn rebase
Working Directory: $ProjectFileDir$
2. 设置快捷键
仍在 Settings 窗口中,选择 Keymap 。
在搜索框中输入 External Tools ,找到您刚刚创建的 Git SVN dcommit 和 Git SVN rebase 。
右键点击它们,选择 Add Keyboard Shortcut ,然后设置您喜欢的快捷键。
3. 使用外部工具
现在,您可以在 IntelliJ IDEA 中使用您设置的快捷键来执行 git svn dcommit 和 git svn rebase ,而不需要打开终端。

4. 提示
确保您在执行这些操作之前已经在 IntelliJ IDEA 中提交了更改到本地 Git 仓库。
如果您在使用过程中遇到任何问题,请检查外部工具的配置和路径设置是否正确。
通过以上步骤,您可以更便捷地在 IntelliJ IDEA 中使用 git svn 的功能,避免了频繁切换到终端的麻烦。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1068059

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX