- Mencari perintah seperti
ls -Rataudir/syang dapat mencantumkan semua file dalam komit / cabang. - Apakah ada perintah yang dapat membandingkan dua file dari cabang yang berbeda?
ls -Ratau dir/syang dapat mencantumkan semua file dalam komit / cabang.Jawaban:
git ls-tree -r --name-only <commit>(di mana alih-alih <commit>ada <branch>). -topsi yang mencantumkan subdirektori sebelum turun ke dalamnyagit diff <branchA>:<fileA> <branchB>:<fileB>, git diff <branchA> <branchB> -- <file>Untuk membandingkan file yang sama dari cabang yang berbeda:
git diff branch_1..branch_2 file.txt
Untuk membuat daftar semua file di objek pohon:
git ls-tree -r branch
ls, Anda telah lupa -treepada akhirnya :)
Untuk mendaftar semua file yang ditambahkan di cabang baru
git diff --name-only branch1 master
Untuk daftar, Anda dapat menggunakan git ls-filesuntuk mendaftar semua file secara rekursif di indeks / direktori kerja saat ini. Anda dapat merujuk ke Git-SCM Docs / git-ls-files atau ketik man git-ls-filesjika Anda telah menginstal Git dan memiliki halaman manual.
Ini memiliki pilihan bagus untuk menampilkan file dengan cara yang berbeda seperti cached, staged, deleted, modified, ignoredatau othersuntuk tidak terlacak. Ini juga mendukung pola pencocokan. Memiliki juga --debugarg, Anda dapat dengan mudah daftar creation time, modification time, inode id, owner & group id, sizedan flagsuntuk file.
Untuk perbedaan dua cabang, gunakan saja git diff <branch> <other branch>seperti yang dinyatakan dalam jawaban lain.
git ls-filesgit ls-filesdijelaskan dalam dokumen git-scm :# Switch to <branch> of interest
$ git checkout <branch>
# List all files in <branch>
$ git ls-files
Untuk opsi lebih lanjut, periksa dokumentasi .