- Alla ricerca di un comando come
ls -R
odir/s
che possa elencare tutti i file in un commit / branch. - Esiste un comando in grado di confrontare due file di rami diversi?
Risposte:
git ls-tree -r --name-only <commit>
(dove invece che <commit>
ci può essere <branch>
). -t
opzione che elenca le sottodirectory prima di discenderlegit diff <branchA>:<fileA> <branchB>:<fileB>
, git diff <branchA> <branchB> -- <file>
Per confrontare lo stesso file da rami diversi:
git diff branch_1..branch_2 file.txt
Per elencare tutti i file in un oggetto albero:
git ls-tree -r branch
ls
, hai dimenticato -tree
la fine :)
Per elencare tutti i file aggiunti nel nuovo ramo
git diff --name-only branch1 master
Per l'elenco, è possibile utilizzare git ls-files
l'elenco di tutti i file in modo ricorsivo nell'indice corrente / directory di lavoro. Puoi fare riferimento a Git-SCM Docs / git-ls-files o digitare man git-ls-files
se hai installato Git e hai pagine man disponibili.
Ha opzioni piacevoli per visualizzare i file in modi diversi, come cached
, staged
, deleted
, modified
, ignored
o others
per la non tracciata. Supporta anche modelli di corrispondenza. Avere anche --debug
un'arg, si può facilmente elencare creation time
, modification time
, inode id
, owner & group id
, size
e flags
per i file.
Per la differenza di due rami, usa semplicemente git diff <branch> <other branch>
come indicato in altre risposte.
git ls-files
git ls-files
descritto nel documento git-scm :# Switch to <branch> of interest
$ git checkout <branch>
# List all files in <branch>
$ git ls-files
Per ulteriori opzioni consultare la documentazione .