2016-05-27 1 views
4

Mon exigence est d'aller chercher la liste des dossiers, qui ont eu quelques modifications des fichiers après une certaine date.Pouvons-nous entrer la sortie de la commande git à une autre commande git

J'ai essayé et obtenu des commandes ci-dessous à partir de laquelle je peux obtenir quelques détails:

Cette commande répertorie les commits qui sont effectuées après cette date (2016-05-26):

git log --date=short --after=2016-05-26 --pretty=format:"%h" 

Sortie:

5761f52 
7c589b8 
1ee709d 

Cette commande répertorie le nom de fichier modifié pour cette validation (5761f52):

git show --pretty="format:" --name-only 5761f52 

Sortie:

Dummy/Dummy_file.java 

Au lieu de vérifier après chaque livraison, est-il possible de récupérer la liste pour le groupe de commits?

Répondre

0

La réponse de Mureinik semble être bonne pour moi. Mais si vous n'êtes pas d'accord, vous pouvez utiliser une boucle dans la ligne de commande bash

for commit in `git log --date=short --after=2016-05-26 --pretty=format:"%h"` 
do 
echo "====== Commit $commit is beeing analyzed ======"; 
git show --pretty="format:" --name-only $commit; 
done 
+0

Merci flux votre réponse m'a aidé. Aussi j'ai légèrement modifié la réponse de Mureinik 'git log --pretty =" format: "--name-only --after = 2016-05-24' il a également travaillé. –

+0

Pourriez-vous s'il vous plaît accepter ma réponse si cela fonctionne pour vous? Ou ajoutez un commentaire si vous avez besoin de plus d'aide. Merci. – Flows

0

Vous pouvez également passer --name-only-git diff. En supposant que votre journal de référence remonte assez loin, vous pouvez simplement utiliser:

git diff --name-only [email protected]{2016-05-26}