Skip to main content

A command-line tool that can decide whether to use `git mv` or `mv`.

Project description

git-smartmv - A tool that can decide whether to use git mv or mv

The git-smartmv command-line tool, written by James Cherti, allows moving files and/or directories without having to worry about manually choosing whether to use git mv or mv.

It can determines whether to use git mv or mv based on the source and the destination path:

  • If the files/directories are being moved within a Git repository, git-smartmv uses git mv.
  • If the files/directories are being moved between a Git repository and a non-Git directory or a different Git repository, git-smartmv uses mv.


sudo pip install git-smartmv

Shell alias

To simplify the usage of this tool, you can add the following line to your ~/.bashrc:

alias mv="git-smartmv"


The git-smartmv command-line tool accepts similar arguments as the mv command, including the source file or directory to be moved, and the destination file or directory.

usage: git-smartmv [--option] <SOURCE>... <DEST>

                        This will raise a warning if the number of files or directories being moved
                        exceeds the specified amount
  -v, --verbose         Report the names of the files and/or directories as they are being moved.
  -f, --force           Force renaming or moving of files and/or directories even if the destination
  -p, --non-interactive
                        Do not prompt the user to confirm before executing 'mv' and/or 'git mv'

First example:

git smartmv file1 file2

Second example:

git smartmv file1 dir1/ file2 file3 directory/

Third example (non-interactive):

git smartmv --non-interactive dir1/ dir2/


Distributed under terms of the GNU General Public License version 3.


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

git-smartmv-1.0.2.tar.gz (17.4 kB view hashes)

Uploaded Source

Built Distribution

git_smartmv-1.0.2-py3-none-any.whl (18.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page