顾名思义,移动操作将目录或文件从一个位置移动到另一个位置. Tom决定将源代码移动到 src 目录中.修改后的目录结构将显示如下 :
[tom@CentOS project]$ pwd/home/tom/project[tom@CentOS project]$ lsREADME string string.c[tom@CentOS project]$ mkdir src[tom@CentOS project]$ git mv string.c src/[tom@CentOS project]$ git status -sR string.c −> src/string.c?? string
为了使这些更改永久化,我们必须将修改后的目录结构推送到远程存储库,以便其他开发人员可以看到这一点.
[tom@CentOS project]$ git commit -m "Modified directory structure"[master 7d9ea97] Modified directory structure1 files changed, 0 insertions(+), 0 deletions(-)rename string.c => src/string.c (100%)[tom@CentOS project]$ git push origin masterCounting 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.gite86f062..7d9ea97 master −> master
在Jerry的本地存储库中,在pull操作之前,它将显示旧的目录结构.
[jerry@CentOS project]$ pwd/home/jerry/jerry_repo/project[jerry@CentOS project]$ lsREADME string string.c
但是在pull操作之后,目录结构将会更新.现在,Jerry可以看到 src 目录和该目录中的文件.
[jerry@CentOS project]$ git pullremote: 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:projecte86f062..7d9ea97 master −> origin/masterFirst, rewinding head to replay your work on top of it...Fast-forwarded master to 7d9ea97683da90bcdb87c28ec9b4f64160673c8a.[jerry@CentOS project]$ lsREADME src string[jerry@CentOS project]$ ls src/string.c