2015-11-16 2 views
0

Je veux juste obtenir tous les fichiers modifiés dans la branche maître git entre 2 dates données et l'écrire dans un fichier texte.Comment obtenir des fichiers modifiés entre 2 dates données dans git

je,

git diff --name-only [email protected]{$fromdate}[email protected]{$todate} > /MyPath/LocationToChanges.txt 

Dans ce cas Fromdate $ est 10/11/2015 et todate $ est 2015-11-13

commande ci-dessus me donne un résultat locale PC Mais quand je le lance sur le serveur externe, il ne donne aucun résultat. J'ai un serveur externe qui exécute jenkins. Ici, il met à jour le projet et exécute cette commande donnée ci-dessus pour obtenir les fichiers modifiés entre deux dates données. Si je le lance manuellement, il ne donne aucun résultat. Mais si je cours en dessous de la ligne, cela me donne un résultat.

git diff --name-only [email protected]{2015-11-10} > MyPath/LocationToChanges.txt 

il écrit la liste des fichiers à un emplacement donné. J'ai testé les deux dates séparément. Pour les deux dates, il donne des noms de fichiers et pourquoi il ne donne aucun résultat pour

[email protected]{$fromdate}[email protected]{$todate} 

S'il vous plaît expliquer ..

+0

Copie possible de [Pourquoi git diff ne fonctionne pas entre deux dates?] (Http://stackoverflow.com/questions/33781753/why-doesnt-git-diff-work-between-two-dates) –

Répondre

1

Votre Jenkins peut être configuré pour fonctionner sans branches locales si elle n'a pas besoin de commettre quoi que ce soit . Il se peut donc qu'il n'y ait pas de branche locale master disponible, donc aucune correspondance ne peut être trouvée dans le champ de recherche. Vous devriez probablement vérifier les changements dans une télécommande commune, tels que le origin/master par défaut au lieu de l'historique de la succursale locale. Cela devrait donner des résultats identiques pour tous les clients avec une configuration à distance correspondante.

Git ne fait aucune hypothèse que la référence locale master correspond à some_remote/master si aucun suivi entre la branche locale et la branche distante n'a été configuré.