顧名思義移動(move )操作移動目錄或文件從一個位置到另一個。Sampson 決定移動到src目錄下的源代碼。因此,修改后的目錄結構看起來會像這樣。
[sampson@CentOS project]$ pwd
/home/sampson/project
[sampson@CentOS project]$ ls
README string string.c
[sampson@CentOS project]$ mkdir src
[sampson@CentOS project]$ git mv string.c src/
[sampson@CentOS project]$ git status -s
R string.c ?> src/string.c
?? string
要進行這些永久性更改,以便其他開發人員可以看到這一點,我們必須修改的目錄結構推到遠程存儲庫。
[sampson@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%)
[sampson@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
在Byron 的本地資源庫,抽取操作前,它會顯示舊的目錄結構。
[byron@CentOS project]$ pwd
/home/byron/byron_repo/project
[byron@CentOS project]$ ls
README string string.c
但是,抽取(pull )操作后的目錄結構將得到更新。現在,Byron 可以看到該目錄內的 src目錄和文件。
[byron@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.
[byron@CentOS project]$ ls
README src string
[byron@CentOS project]$ ls src/
string.c