Avez-vous un moyen propre de lister tous les fichiers qui ont déjà existé dans la branche spécifiée?Liste tous les fichiers qui ont déjà existé dans un dépôt Git
85
A
Répondre
108
Ceci est une variante simplifiée de solution de Strager:
git log --pretty=format: --name-status | cut -f2- | sort -u
Edit: Remerciements s à Jakub pour m'avoir appris un peu plus dans les commentaires, cette version a un pipeline plus court et donne plus de chance à Git de faire les choses correctement.
git log --pretty=format: --name-only --diff-filter=A | sort -u
1
Vous pouvez exécuter git-log --name-status
, qui fait écho à quelque chose comme:
commit afdbbaf52ab24ef7ce1daaf75f3aaf18c4d2fee0
Author: Your Name <[email protected]>
Date: Tue Aug 12 13:28:34 2008 -0700
Added test file.
A test
fichiers extraire ensuite ajouté:
git-log --name-status | sed -ne 's/^A[^u]//p' | sort -u
10
Cela fait la bonne chose pour vérifier si un nom de fichier était toujours présent dans le repo pas seulement sur la branche actuelle.
git log --all --pretty=format: --name-only --diff-filter=A | sort - | grep fubar
0
Voici deux alias utiles: FindFile ff
et FindFilewithCopies ffc
:
# Find if one file ever had into repository
ff = "!git log --pretty=format: --name-status --all -M -B | sort -u | grep $1 #"
# The same as above but showing copied files
ffc = "!git log --pretty=format: --name-status --all -C -M -B | sort -u | grep $1 #"
Vous obtenez des informations sur les noms de fichiers et les opérations avec eux.
utilisation Exemple:
$ git ff create
A database/migrations/2014_10_12_000000_create_users_table.php
A database/migrations/2014_10_12_100000_create_password_resets_table.php
A database/migrations/2015_05_11_200932_create_boletin_table.php
A database/migrations/2015_05_15_133500_create_usuarios_table.php
D database/migrations/2015_05_12_000000_create_users_table.php
M database/migrations/2015_05_11_200932_create_boletin_table.php
R051 database/migrations/2014_10_12_000000_create_users_table.php database/migrations/2015_05_12_000000_create_users_table.php
$ git ffc create
A database/migrations/2014_10_12_000000_create_users_table.php
A database/migrations/2014_10_12_100000_create_password_resets_table.php
A database/migrations/2015_05_11_200932_create_boletin_table.php
A database/migrations/2015_05_15_133500_create_usuarios_table.php
C052 database/migrations/2014_10_12_000000_create_users_table.php database/migrations/2015_05_11_210246_create_boletin_nosend_table.php
D database/migrations/2015_05_12_000000_create_users_table.php
M database/migrations/2015_05_11_200932_create_boletin_table.php
R051 database/migrations/2014_10_12_000000_create_users_table.php database/migrations/2015_05_12_000000_create_users_table.php
Questions connexes
- 1. Lire un dépôt Git, sans Git
- 2. Nombre de validations dans un dépôt git
- 3. Git - obtenir tous les commits et blobs ils ont créé
- 4. Comment réécrire les noms des commits dans un dépôt git?
- 5. fatale: Pas un dépôt Git
- 6. Réduire l'historique d'un dépôt git
- 7. Obtenir une liste de tous les fichiers dans un répertoire
- 8. fractionnement d'un dépôt git
- 9. SVN: Liste tous les fichiers archivés
- 10. Puis-je faire git-svn importer un dépôt Subversion qui lui-même contient des dépôts git
- 11. Comment obtenir une liste de répertoires supprimés dans mon dépôt git?
- 12. Supprimer tous les répertoires dans une archive FTP qui ont un certain nom en utilisant PHP
- 13. Git reset --hard et un dépôt distant
- 14. Comment partager des fichiers dans un dépôt
- 15. Git: Comment obtenir un instantané d'un dépôt git
- 16. Liste tous les fichiers qui n'ont pas été édités dans une année dans CVS
- 17. SharpSVN lire TOUS les noms de fichiers
- 18. créer un git symbolique ref dans un dépôt distant
- 19. Puis-je vérifier les wikis github comme un dépôt git?
- 20. Séparer les fichiers dans Git
- 21. Où placer le dépôt Git
- 22. Sous-répertoire Detatch dans un dépôt git séparé - Sur github
- 23. Comment fusionner un dépôt git existant dans un dépôt vide et préserver l'historique?
- 24. uniquement les fichiers modifiés Merging utilisant Git
- 25. Comment trouver tous les fichiers d'un utilisateur particulier a déjà changé dans Team Foundation Server
- 26. Supprimer tous les fichiers de svn repository
- 27. Faire un clone de Teamcity cloner un dépôt git
- 28. Ajouter tous les fichiers sous un dossier qui n'ont pas été ajoutés dans subversion?
- 29. Trouver les fichiers qui ont été créés en premier dans un flux donné
- 30. Comment écrire un XPath pour obtenir tous les parents qui ont deux enfants connus?
@Dustlin: Ajouter --diff-filter = Une option (liste uniquement les fichiers ajoutés). La version actuelle (sans filtrer uniquement les fichiers ajoutés) échouerait si vous avez activé la détection de renommer et que vous avez renommé l'historique. Je pense que vous pouvez alors utiliser --name-only au lieu de --name-status et supprimer 'cut -f2-' du pipeline. –
Dans l'un de mes repos, je reçois plusieurs lignes en double (y compris un certain nombre de lignes vides au début de la sortie) avec la deuxième commande qui ne sont pas dupes avec le premier. –
Si vous avez besoin d'un peu plus d'informations que le nom du fichier: $ git log --pretty = format: "% h% an [% cd]:% s" --name seulement | couper -f2- | sort -u | grep Filename.ext – Nitay