- Ищете команду типа
ls -Ror,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
Дополнительные параметры см. В документации .