- Шукаємо команду, подібну
ls -Rабоdir/sяка може перерахувати всі файли у коміті / гілці. - Чи існує якась команда, яка може порівняти два файли з різних гілок?
Відповіді:
git ls-tree -r --name-only <commit>(де замість <commit>може бути <branch>). -tопцію, яка перелічує підкаталоги перед тим, як спуститися в нихgit diff <branchA>:<fileA> <branchB>:<fileB>, git diff <branchA> <branchB> -- <file>Щоб порівняти один і той же файл із різних гілок:
git diff branch_1..branch_2 file.txt
Щоб перерахувати всі файли в деревному об'єкті:
git ls-tree -r branch
ls, що ви забули -treeв кінці :)
Перерахувати всі файли, додані в новій гілці
git diff --name-only branch1 master
Для переліку ви можете використовувати git ls-filesдля рекурсивного переліку всіх файлів у поточному індексі / робочому каталозі. Ви можете звернутися до Git-SCM Docs / git-ls-files або ввести, man git-ls-filesякщо ви встановили Git і маєте доступні сторінки.
Він має хороші можливості , щоб показати файли по - різному , як cached, staged, deleted, modified, ignoredабо othersдля неотслежіваемих. Він також підтримує відповідні шаблони. Маючи також --debugARG, ви можете легко перерахувати creation time, modification time, inode id, owner & group id, sizeі flagsдля файлів.
Для різниці двох гілок просто використовуйте, git diff <branch> <other branch>як зазначено в інших відповідях.
git ls-filesgit ls-files описати в документі git-scm :# Switch to <branch> of interest
$ git checkout <branch>
# List all files in <branch>
$ git ls-files
Для подальших варіантів перевірте документацію .