Sto usando git all'interno di un repository perforce. Voglio essere in grado di sapere esattamente quali file sono stati influenzati da un commit Git in modo da poter tornare indietro con un hook post-commit e aprire quei file per la modifica in perforce, in modo che il server Forces conosca le modifiche.
C'è un modo per ottenere una lista, all'interno dell'hook post-commit, di esattamente quali file sono stati interessati dal commit?C'è un modo per ottenere i file interessati di un commit con un hook post-commit git?
risposta
per ottenere i dati grezzi:
git diff-tree HEAD
Ottenere i percorsi colpite (relativi al $GIT_DIR
) della testa del ramo corrente con
git show --pretty=oneline --name-only HEAD | sed 1d
È possibile ottenere lo stesso output con: git diff-tree --name-only -r HEAD | sed 1d Interessante che ci sono alcuni modi per farlo ... – bergyman
In questo caso, vai con 'git diff-tree' su' git show' perché il primo è l'impianto idraulico di basso livello, al contrario della porcellana destinata all'uomo uso. Vedi http://progit.org/book/ch9-1.html –
è git log --name-only
quello che stai cercando? git log --name-status
mostra anche l'azione come M per modificato, A per aggiunto (presumo) ecc.
Infine, l'opzione --pretty=oneline
potrebbe essere utile per semplificare l'analisi.
Ovviamente probabilmente lo avete già capito ma ho aggiunto questo per riferimento futuro.
- 1. Creare un hook di commit git BitBucket?
- 2. Utilizzo di un hook Git per creare un registro di commit e aggiunta al commit corrente
- 3. Git pre-commit hook: file modificati/aggiunti
- 4. post commit hook per aggiornare un file con la versione
- 5. Git pre-commit hook: ottenere l'elenco dei file modificati
- 6. Come può un hook di git pre-commit eseguire test rspec e prevenire un commit?
- 7. hook pre-commit bypass per commit commit
- 8. Come configurare Git post hook di commit
- 9. Combina locale Git commit in un commit per git-svn
- 10. In Git, c'è un modo per ottenere il nome "amichevole" per un commit arbitrario?
- 11. Qual è un buon modo per gestire i commit clean in git per un progetto legacy?
- 12. impostazione di un hook git post-receive
- 13. Ottenere git per non spingere mai un singolo commit?
- 14. Pre commit hook per JSLint in Mercurial e Git
- 15. Numero di commit in un repository git
- 16. modifica un file in tutti i commit in git
- 17. Come usare git hook pre-commit per fermare i commit al master
- 18. utilizzando git hook dopo il commit
- 19. errore msysgit con ganci: "errore git: impossibile generare .git/hook/post-commit: nessun file o directory"
- 20. Come git commit un singolo file/cartella
- 21. Scrivi GIT pre-commit hook in java?
- 22. Un trucco simile per git bisect ENTEN un commit
- 23. Come è possibile utilizzare raw_input() in un hook Git Python?
- 24. Link simbolico a un hook in git
- 25. Come verifichiamo i messaggi di commit per un push?
- 26. Cerca storia git per un cambiamento in un merge commit
- 27. Ottieni i dettagli del registro per un numero di revisione specifico in un hook post-commit con SharpSVN?
- 28. Intellij git revert un commit
- 29. git: spingere un singolo commit
- 30. Git - Cos'è un ID commit git?
Non sembra che mi trovi un elenco dei file effettivi: mi mostra le directory interessate. – bergyman
... non importa, scavando tra le opzioni di diff-tree questo potrebbe funzionare. – bergyman