Domanda Mostrare quali file sono stati modificati tra due revisioni


Voglio unire due rami che sono stati separati per un po 'e volevo sapere quali file sono stati modificati.

È venuto attraverso questo link: http://linux.yyz.us/git-howto.html che era abbastanza utile.

Gli strumenti per confrontare i rami che ho incontrato sono:

  • git diff master..branch
  • git log master..branch
  • git shortlog master..branch

Stavo chiedendo se c'è qualcosa come "git status master..branch" per vedere solo quei file che sono diversi tra i due rami.

Senza creare un nuovo strumento, penso che questo sia il più vicino che puoi ottenere ora (che ovviamente mostrerà le ripetizioni se un file è stato modificato più di una volta):

  • git diff master..branch | grep "^diff"

Mi stavo chiedendo se ci fosse qualcosa che mi mancava ...


1786
2018-05-05 00:47


origine


risposte:


Per confrontare il ramo corrente con master

$ git diff --name-status master

Per confrontare qualsiasi coppia di rami

$ git diff --name-status firstbranch..yourBranchName

Questo dovrebbe fare ciò di cui hai bisogno, se ti capisco correttamente.


2184
2018-05-05 01:04



Provare

$ git diff --stat --color master..branchName

Ciò ti fornirà maggiori informazioni su ogni modifica, pur utilizzando lo stesso numero di linee.

Puoi anche capovolgere i rami per ottenere un'immagine ancora più chiara della differenza se dovessi unire l'altro modo:

$ git diff --stat --color branchName..master

354
2018-02-09 19:38



Ricorda inoltre che git ha diramazioni economiche e facili. Se penso che una fusione potrebbe essere problematica creo un ramo per l'unione. Quindi se master ha le modifiche che voglio unire in e ba è il mio ramo che ha bisogno del codice dal master, potrei fare quanto segue:

git checkout ba
git checkout -b ba-merge
git merge master
.... review new code and fix conflicts....
git commit
git checkout ba
git merge ba-merge
git branch -d ba-merge
git merge master

Il risultato finale è che ho avuto modo di provare l'unione su un ramo da buttare via prima di scopare con il mio ramo. Se riesco ad aggrovigliare, posso semplicemente cancellare il ba-merge filiale e ricominciare.


145
2017-10-11 01:22



Se qualcuno sta provando a generare un file diff da due rami:

git diff master..otherbranch > myDiffFile.diff

44
2018-04-03 14:01



Nota che git rende facile provare l'unione e allontanarti da qualsiasi problema se non ti piace il risultato. Potrebbe essere più facile che cercare in anticipo potenziali problemi.


30
2018-05-05 00:59



C'è anche un metodo basato sulla GUI.

Puoi usare gitk.

  1. Correre:

    $ gitk --all
    
  2. Fare clic destro su un commit di un ramo e selezionare Segna questo impegno nel menu a comparsa.

  3. Fare clic con il tasto destro su un commit di un altro ramo e selezionare Diff questo -> contrassegnato commit o Diff marcato commit -> questo.

Poi ci sarà un elenco di file modificati nel pannello in basso a destra e dettagli diff nel pannello in basso a sinistra.


29
2018-06-14 06:01



Un'altra opzione, usando la combinazione in questo caso:

git difftool -d master otherbranch

Ciò consente non solo di vedere le differenze tra i file, ma offre anche un modo semplice per puntare e fare clic su un file specifico.


26
2018-04-24 13:23