How do I rename a file in JGit

前端 未结 1 626
天涯浪人
天涯浪人 2021-01-20 04:12

How do I rename a file in JGit. That is, given a working file named file1.

The command line would be:

git mv file1 file2
相关标签:
1条回答
  • 2021-01-20 04:29

    There is no direct equivalent to git mv in Git. git mv is just a short hand for

    mv oldname newname
    git add newname
    git rm oldname
    

    (see here)

    Respectively, use File.renameTo() or, since Java 7, Files.move() to move the file and then

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

    to update the Git index.

    The paths given to addFilePattern() must be relative to the work directory and path segments must always be separated by slashes (/) independent of the file system in use.

    Note, that Git does not track renames or moves. When using the --follow option with git log, it uses heuristics to try to detect renamed or moved files (see Is it possible to move/rename files in Git and maintain their history?)

    0 讨论(0)
提交回复
热议问题