از اسم move پیداست که یک directory یا یک فایل را از جایی به جای دیگر منتقل میکند. Tom تصمیم گرفته است که کد اصلی را به داخل directory با نام src منتقل کند. بنابراین ساختار کار وی به شکل زیر است:
[tom@CentOS project]$ pwd /home/tom/project [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
برای تثبیت این تغییرات، باید آنها را به remote repository یا git server یا انبار سرور منتقل کند تا دیگران هم بتوانند آنها را ببیند:
[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) To gituser@git.server.com:project.git e86f062..7d9ea97 master −> master
در داخل انبار محلی Jerry, قبل از pull کردن تغییرات روی git server برای به روزرسانی directory های قدیمی را داریم:
[jerry@CentOS project]$ pwd /home/jerry/jerry_repo/project [jerry@CentOS project]$ ls README string string.c
اما پس از عملیات pull ساختار directory به روزرسانی میشود. حالا Jerry میتواند srcو محتوایش را ببیند:
[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. From git.server.com:project 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/ string.c