目前公司使用的是 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
来完成, 这个动作我也期望能不打开终端就能完成
1
Vaspike OP 解决了这个问题了同志们:
要在 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 的功能,避免了频繁切换到终端的麻烦。 |