Ho aperto una richiesta pull per un progetto. Il manutentore ha deciso di accettarlo, ma mi ha detto di modificare alcuni contenuti.
Come posso farlo? Se devo mantenere invariato l'hash di commit, come posso farlo?
Ho aperto una richiesta pull per un progetto. Il manutentore ha deciso di accettarlo, ma mi ha detto di modificare alcuni contenuti.
Come posso farlo? Se devo mantenere invariato l'hash di commit, come posso farlo?
Risposte:
basta spingere più commit sul ramo per cui è richiesta. La richiesta pull lo prenderà quindi
Se si desidera che b sia stato unito a master
Ho appena avuto un commit in una richiesta pull e l'ho usato git commit --amend
per aggiornarlo. Ho quindi fatto una spinta forzata con git push -f
così il mio commit modificato ha sostituito quello originale. La richiesta pull ha automaticamente raccolto il nuovo commit. (In realtà mostrava entrambi i commit, ma quando ho ricaricato la pagina il vecchio commit era sparito.)
Pertanto, sebbene una spinta forzata non sia generalmente consigliata, può essere utile per le richieste pull. Non è raccomandato perché se qualcuno basa un commit sopra il tuo, dovrà fare un rebase dopo la modifica. Ma dal momento che nessuno dovrebbe basare il proprio lavoro su una richiesta pull sotto revisione, dovrebbe essere abbastanza sicuro in questa situazione.
Se si continuano a apportare modifiche e si continua a inviare allo stesso ramo, i commit perfezionati verranno aggiunti alla stessa richiesta pull (a meno che la richiesta pull non sia stata unita). Questo potrebbe rendere la storia molto ingombra.
Una soluzione alternativa e una tecnica che utilizzo sono le seguenti:
Creare un nuovo ramo (correzioni) dal repository (a monte) e ramo (sviluppo) a cui si intende inviare la richiesta pull effettuando:
git branch correzioni a monte / sviluppo
Aggiungi i tuoi commit perfezionati direttamente a questo ramo appena creato.
git commit -m "il tuo messaggio"
Spingi questo ramo sul tuo telecomando biforcato (potrebbe essere chiamato origine).
Puoi anche usare github api .
curl --user "your_github_username" \
--request PATCH \
--data '{"title":"newtitle","body":"newbody",...}' \
https://api.github.com/repos/:owner/:repo/pulls/:number
puoi trovare l'elenco dettagliato dei dati nel documento per sviluppatori di github
curl --user "jeremyclement" \
--request PATCH \
--data '{"title":"allows the control of files and folders permissions."}' \
https://api.github.com/repos/Gregwar/Cache/pulls/9