Move Operation - Git

As the name suggests, the move operation moves a directory or a file from one location to another. Tom decides to move the source code into src directory. The modified directory structure will appear as follows:


[tom@CentOS project]$ pwd



[tom@CentOS project]$ ls

README string string.c


[tom@CentOS project]$ mkdir src


[tom@CentOS project]$ git mv string.c src/


[tom@CentOS project]$ git status -s

R string.c ?> src/string.c

?? string


To make these changes permanent, we have to push the modified directory structure to the remote repository so that other developers can see this.


[tom@CentOS project]$ git commit -m "Modified directory structure"


[master 7d9ea97] Modified directory structure

1 files changed, 0 insertions(+), 0 deletions(-)

rename string.c => src/string.c (100%)


[tom@CentOS project]$ git push origin master

Counting objects: 4, done.

Compressing objects: 100% (2/2), done.

Writing objects: 100% (3/3), 320 bytes, done.

Total 3 (delta 0), reused 0 (delta 0)


e86f062..7d9ea97 master ?> master


In Jerry’s local repository, before the pull operation, it will show the old directory structure.


[jerry@CentOS project]$ pwd



[jerry@CentOS project]$ ls

README string string.c


But after the pull operation, the directory structure will get updated. Now, Jerry can see the src directory and the file present inside that directory.


[jerry@CentOS project]$ git pull

remote: Counting objects: 4, done.

remote: Compressing objects: 100% (2/2), done.

remote: Total 3 (delta 0), reused 0 (delta 0)

Unpacking objects: 100% (3/3), done.


e86f062..7d9ea97 master ?> origin/master

First, rewinding head to replay your work on top of it...

Fast-forwarded master to 7d9ea97683da90bcdb87c28ec9b4f64160673c8a.


[jerry@CentOS project]$ ls

README src string


[jerry@CentOS project]$ ls src/