I want to access a bare git repository, and I want to list all files in the repository.
On a normal git repository I can easily do that by running git ls-files
.
Example output:
$ git ls-files README.md file1.js file2.js file3.js folder1/file4.js folder2/file5.js
In a bare git repository this fails silently. It just doesn't return any files (but exits successfully):
$ cd my-bare-repository $ git ls-files #returns nothing $ echo $? #print exit code from previous command $ 0
Now I am aware that I have to provide a meaningful branch or master to display. But how can I actually get this list of the files that I know are in my repository?
Using the file finder On GitHub.com, navigate to the main page of the repository. Above the list of files, click Go to file. In the search field, type the name of the file you'd like to find. In the list of results, click the file you wanted to find.
This command will list the files that are being tracked currently. If you want a list of files that ever existed use: git log --pretty=format: --name-only --diff-filter=A | sort - | sed '/^$/d'This command will list all the files including deleted files.
You can try the other command which list files:
git ls-tree --full-tree -r HEAD
According to this comment, the command git ls-tree works in bare repo.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With