QNA > Q > Quali Sono I Modi Per Cancellare Una Richiesta Di Pull Su Github?

Quali sono i modi per cancellare una richiesta di pull su GitHub?

Modifica: Come sottolineato nel commento di Nihad'qui sotto non è possibile cancellare una Pull Request su GitHub. Grazie Regul Martinez per averlo fatto notare; ho aggiornato la risposta per rifletterlo.


Una volta creata, una Pull Request su GitHub non può essere cancellata, né dall'interfaccia web, né dall'API. È possibile chiudere una Pull Request; questa operazione, tuttavia, non influisce su nessuno dei repo dell'infrastruttura di GitHub.

Se si desidera rimuovere i commit associati a una Pull Request, potrebbe essere un po' complicato. Ci sono un paio di fattori che governano come questo comportamento funzionerebbe.

Prima di tutto, le Pull Request di GitHub sono appuntate ad una coppia di refs, uno nel tuo repo e uno nel repo upstream. GitHub calcola dinamicamente i commit dal ref sul tuo albero che non sono raggiungibili dal ref sull'albero a monte e li allega alla Pull Request. Quindi, se aggiungi o rimuovi i commit che portano al tuo ref sulla Pull Request, questi cambiamenti si rifletteranno sulla Pull Request. Quindi, anche se non l'ho provato personalmente, forzare il tuo ref nel tuo repo per farlo corrispondere al ref dell'upstream sulla Pull Request dovrebbe teoricamente negare qualsiasi cambiamento riflesso sulla Pull request ed eliminare tutti i commit collegati.

È da notare, comunque, che questo rende semplicemente quei commit irraggiungibili dai normali comandi git; poiché non sono più su nessun ramo nominato dell'albero git che è il tuo repo. Ma questi commit non sono completamente persi, dato che, almeno AFAIK, GitHub non fa GC reposit. Ref: GitHub mantiene i rami remoti cancellati nella storia? Se sì, possono essere ripristinati?

Ora, venendo alla tua specifica situazione in cui hai cancellato il ramo con cui hai creato la richiesta di pull; non ho mai provato e sarei curioso di vedere come GitHub rappresenta la richiesta di pull dopo la cancellazione. La mia migliore ipotesi (ed è solo un'ipotesi) sarebbe che, perdendo il ramo, GitHub avrebbe appuntato la richiesta di pull al commit che il ramo puntava per ultimo. Ma sto solo speculando qui.

Di Ailyn

Qual è una cosa che hai sorpreso i tuoi genitori a fare e che vorresti non aver mai visto? :: Cosa significa git 'remote' e 'origin'?
Link utili