Rimuovi un file modificato dalla richiesta pull


102

Ho 3 file modificati (nessun nuovo file) in una richiesta pull al momento.

Vorrei rimuovere uno di quei file dalla richiesta pull, in modo che la richiesta pull contenga solo modifiche a due file e lasci il terzo nel suo stato originale, intatto.

Ho provato un paio di cose (controllando la versione originale del file, ecc ...) ma viene ancora visualizzato come file modificato nel PR.

c'è una soluzione a questo?


Se le modifiche al file sono nei propri commit, è possibile eseguire un rebase interattivo e rimuovere i commit che interessano il file che si desidera non modificare, quindi eseguire un push forzato al ramo. Github dovrebbe rilevarlo automaticamente.
Dentych

Risposte:


239

Passa al ramo da cui hai creato la richiesta pull:

$ git checkout pull-request-branch

Sovrascrivi i file modificati con il file in un altro ramo, consideriamo che sia master :

git checkout origin/master -- src/main/java/HelloWorld.java

Impegnati e invialo al telecomando:

git commit -m "Removed a modified file from pull request"
git push origin pull-request-branch

4
Non funzionante mi mostra l'errore: pathspec "{file / path.js}" non corrisponde ad alcun file noto per git.
raftaar1191

8
Funziona e una soluzione collaudata controlla correttamente il tuo percorso
Pavan T

2
questo funziona per i file intorno al file su cui voglio eseguire l'azione ... quindi non penso che sia qualcosa di sbagliato nel percorso
Tim Boland

Con questo metodo, sovrascrivi il file in modo da perdere il lavoro svolto su quel file, giusto? Non puoi tenerlo per un altro ramo e / o un altro PR?
Ernest Jones

1
@ArpitAggarwal funziona bene. Grazie mille.
Chaklader Asfak Arefe

10

Vorresti modificare il commit e quindi eseguire un push forzato che aggiornerà il ramo con il PR.

Ecco come ti consiglio di farlo:

  1. Chiudi il PR in modo che chi lo sta esaminando non lo inserisca finché non hai apportato le modifiche.
  2. Esegui un soft reset del commit prima della modifica indesiderata (se questo è l'ultimo commit che puoi usare git reset --soft HEAD^o se è un commit diverso, dovresti sostituire 'HEAD ^' con l'id del commit)
  3. Elimina (o annulla) qualsiasi modifica al file che non intendevi aggiornare
  4. Fai un nuovo commit git commit -a -c ORIG_HEAD
  5. Forza Push al tuo ramo
  6. Riapri richiesta pull

Ora che il tuo ramo è stato aggiornato, la richiesta pull includerà le tue modifiche.

Ecco un collegamento alla documentazione di Gits dove hanno un buon esempio in Annulla un commit e rifai .


-5

Una richiesta pull è proprio questo: una richiesta per unire un ramo in un altro.

La tua richiesta pull non "contiene" nulla, è solo un indicatore che dice "per favore unisci questo ramo a quello".

La serie di modifiche che il PR mostra nell'interfaccia utente Web è solo le modifiche tra il ramo di destinazione e il ramo delle funzionalità. Per modificare la tua richiesta pull, devi modificare il tuo ramo di funzionalità, probabilmente con un push forzato al ramo di funzionalità.

Nel tuo caso, probabilmente vorrai modificare il tuo commit. Non sono sicuro della tua situazione esatta, ma una combinazione di rebase interattivo e add -pdovrebbe risolverti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.