如何在 JGit 中重命名文件

Posted

技术标签:

【中文标题】如何在 JGit 中重命名文件【英文标题】:How do I rename a file in JGit 【发布时间】:2013-12-28 10:33:26 【问题描述】:

。也就是说,给定一个名为 file1 的工作文件。

命令行是:

git mv file1 file2

【问题讨论】:

【参考方案1】:

Git 中没有直接等效于 git mv 的方法。 git mv 只是

的简写
mv oldname newname
git add newname
git rm oldname

(see here)

分别使用File.renameTo() 或从Java 7 开始使用Files.move() 移动文件,然后

git.add().addFilepattern( "newname" ).call();
git.rm().addFilepattern( "oldname" ).call();

更新 Git 索引。

提供给addFilePattern() 的路径必须是相对于工作目录的路径,并且路径段必须始终用斜杠 (/) 分隔,与所使用的文件系统无关。

请注意,Git 不跟踪重命名或移动。将--follow 选项与git log 一起使用时,它会使用启发式方法来尝试检测重命名或移动的文件(请参阅Is it possible to move/rename files in Git and maintain their history?)

【讨论】:

这还会保留git文件历史吗? 我已经编辑了帖子,这能回答你的问题吗?

以上是关于如何在 JGit 中重命名文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Emacs 中重命名打开的文件?

如何在 C++ 中重命名文件

如何在 HIVE 的分区中重命名文件

如何在上传过程中重命名图像文件

如何在 Visual Studio 2003 中重命名 C++ 源文件?

markdown 如何在Mac OSX中重命名文件?