Come faccio a identificare i file / directory che sono stati aggiunti o rimossi in un git commit?

StackOverflow https://stackoverflow.com/questions/2557564

  •  23-09-2019
  •  | 
  •  

Domanda

Ho bisogno di scrivere uno script che tiene traccia in modo incrementale di file e directory aggiunti e rimossi da un repo git.

Ho cercato di utilizzare:

git log -n1 --pretty="format:" --name-only

Ma che mi quali file sono stati commessi dice solo. Non specifica se è stato aggiunto o rimosso.

Tutte le idee?

È stato utile?

Soluzione

L'opzione che stai cercando è --name-status. Come --name-only in realtà è un opzione git-diff; git-log accetta quelli per determinare come va a visualizzare le patch.

git log -n 1 --pretty=oneline --name-status

o equivalentemente (meno l'intestazione di registro):

git diff --name-status HEAD^ HEAD

Come isbadawi sottolinea, è anche possibile utilizzare git-WhatChanged. Questo è più o meno git-log con una specifica uscita diff:

git whatchanged -n 1

Ti potrebbe piacere la versione --name-status meglio, però, dal momento che non mostra tutti gli hash blob, solo gli stati leggibile.

Altri suggerimenti

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top