Git Rename
To rename files, folders, or symbolic links inside a Git repository, we will use the git mv command.
Renaming a directory, symlink, or file:
This command, git mv <source> <destination>, specifies the new name or path we wish to move the file, symlink, or directory to.
git mv [-v] [-f] [-n] [-k] <source> <destination>
The <source> is the name of the file, symlink, or directory that currently exists in the repository.
Example :-
git mv oldfile.txt newfile.txt. git mv src/dir1/file1.txt src/dir2/file1.txt.
If we just want to move or rename a single file, symlink, or directory, use this form.
Options
-f
--force
The git mv --force option in Git allows us to move or rename directories, symlinks, or files.
In the event that a file with the same name already exists at the target destination, it permits these operations to go forward.
Helpful in situations where we need to rename or transfer existing files or directories with the same name.
Makes tasks easier by preventing the need to manually remove files that already exist at the destination.
git mv -f old_filename new_filename git mv --force old_filename new_filename
-k
--keep-index
Moves and renames can avoid error circumstances by using the -k option in git mv.
It overcomes issues when Git doesn't track the source or when using -f would cause an existing file to be overwritten.
It is helpful in automation or scripts if the presence of the file isn't guaranteed.
Ensures smoother handling of operations by avoiding halts due to errors.
git mv -k old_filename new_filename git mv --keep-index old_filename new_filename
-n
--dry-run
With Git, we can preview command actions without actually changing the repository by using the -n or --dry-run option.
Before committing planned changes, it enables users to examine and confirm them, giving them confidence in the intended adjustments.
This feature helps with cautious Git operation management and acts as a safety precaution against accidental changes.
git mv -n old_filename new_filename git mv --dry-run old_filename new_filename
-v
--verbose
Git commands that include the -v or --verbose option increase transparency during command execution by displaying the names of files as they are moved or renamed, giving thorough feedback and confirmation of each action.
This function ensures correctness by assisting users in tracking and validating particular file modifications.
git mv -v old_filename new_filename git mv --verbose old_filename new_filename
Generally, -f (force) will be used, if there is a naming conflict. The --dry-run option is useful for checking the command's outcome before you execute it, especially in larger projects.