git command to move a folder inside another

Issue

I have created a folder common with a bunch of source files and folders.

Now I want to move the common folder into the include folder so it looks like include/common

I tried these:

  1. git add include

  2. git mv common/ include/

    but it fails with this error

    fatal: bad source, source=myrepo/common, destination=myrepo/include

  3. I tried git mv common/ include/common but I get the same error

Any idea how to achieve this?

Solution

One of the nicest things about git is that you don’t need to track file renames explicitly. Git will figure it out by comparing the contents of the files.

So, in your case, don’t work so hard: Ref: https://git-scm.com/docs/git-mv

$ mkdir include
$ git mv common include
$ git rm -r common
$ git add include/common

Running git status should show you something like this:

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   renamed:    common/file.txt -> include/common/file.txt
#

Answered By – Andres Jaan Tack

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published