- Alla ricerca di un comando come
ls -Rodir/sche 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>). -topzione 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 -treela fine :)
Per elencare tutti i file aggiunti nel nuovo ramo
git diff --name-only branch1 master
Per l'elenco, è possibile utilizzare git ls-filesl'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-filesse hai installato Git e hai pagine man disponibili.
Ha opzioni piacevoli per visualizzare i file in modi diversi, come cached, staged, deleted, modified, ignoredo othersper la non tracciata. Supporta anche modelli di corrispondenza. Avere anche --debugun'arg, si può facilmente elencare creation time, modification time, inode id, owner & group id, sizee flagsper i file.
Per la differenza di due rami, usa semplicemente git diff <branch> <other branch>come indicato in altre risposte.
git ls-filesgit ls-filesdescritto 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 .