如何在 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 中重命名文件的主要内容,如果未能解决你的问题,请参考以下文章