从Java代码执行git rebase交互
当使用命令行中的从Java代码执行git rebase交互,java,git,rebase,git-rebase,Java,Git,Rebase,Git Rebase,当使用命令行中的git-rebase--interactive时,您在终端窗口中获得了提交列表,然后您修改并保存它们,此时,重新基址过程开始,然后您可以使用git-commit--amend和git-rebase--continue重写历史 我正在尝试使用Runtime.getRuntime().exec()从Java自动重写整个历史记录,在另一个线程中,我在打开并编辑todo文件.git/rebase merge/git rebase todo 问题是代码在执行rebase命令时停止 Runt
git-rebase--interactive
时,您在终端窗口中获得了提交列表,然后您修改并保存它们,此时,重新基址过程开始,然后您可以使用git-commit--amend
和git-rebase--continue
重写历史
我正在尝试使用Runtime.getRuntime().exec()
从Java自动重写整个历史记录,在另一个线程中,我在打开并编辑todo文件.git/rebase merge/git rebase todo
问题是代码在执行rebase命令时停止
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("git rebase --continue --root $TIP");
由于它正在等待编辑器停止,因此如何克服此问题并强制重新基础过程开始?当重新基础失败时,重新基础将停止并指示需要手动(交互式)项才能向前移动
考虑到git rebase interactive只是建立一系列提交,您可以建立一个提交列表,然后调用一系列的
git
,这基本上就是交互式rebase所做的。当rebase失败时,rebase将停止并指示手动(交互式)项目是向前移动所必需的
考虑到git rebase interactive只是建立一系列提交,您可以建立一个提交列表,然后调用一系列的git
,这基本上就是interactive rebase所做的