Git - Operazione di spostamento

Come suggerisce il nome, l'operazione di spostamento sposta una directory o un file da una posizione a un'altra. Tom decide di spostare il codice sorgente insrcdirectory. La struttura della directory modificata apparirà come segue:

[[email protected] project]$ pwd
/home/tom/project

[[email protected] project]$ ls
README string string.c

[[email protected] project]$ mkdir src

[[email protected] project]$ git mv string.c src/

[[email protected] project]$ git status -s
R string.c −> src/string.c
?? string

Per rendere permanenti queste modifiche, dobbiamo inviare la struttura della directory modificata al repository remoto in modo che gli altri sviluppatori possano vederlo.

[[email protected] 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%)

[[email protected] 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 [email protected]:project.git
e86f062..7d9ea97 master −> master

Nel repository locale di Jerry, prima dell'operazione di pull, mostrerà la vecchia struttura di directory.

[[email protected] project]$ pwd
/home/jerry/jerry_repo/project

[[email protected] project]$ ls
README string string.c

Ma dopo l'operazione di pull, la struttura della directory verrà aggiornata. Ora Jerry può vedere il filesrc directory e il file presente all'interno di quella directory.

[[email protected] 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.

[[email protected] project]$ ls
README src string

[[email protected] project]$ ls src/
string.c