È possibile ripristinare lo stato repo a un commit precedente. In primo luogo capire quale impegnarsi si desidera reimpostare la repo a:
git log
Per ripristinare il pronti contro termine a quello stato:
git reset --hard <commit_hash>
Se si dispone di un pronti contro termine a distanza biforcuta, si può spingere queste modifiche al it:
git push -f <remote> <branch>
Si potrebbe voler modificare il flusso di lavoro per semplificare le cose in futuro.
Quando lancio un repo e apporto le mie modifiche, ho prima creato due telecomandi. Un telecomando punterà al mio repo fork (es: origin
) e aggiungerà altri punti remoti al repository originale che è stato biforcuto da (es: original_repo
). Così potrei avere qualcosa di simile:
$ git remote
origin
original_repo
creo un ramo di fare tutto il mio lavoro in, es: feature
. Quando faccio una richiesta di pull, lo faccio dal ramo feature
al ramo original_repo
master
. Se la richiesta pull è rifiutata, come nel tuo esempio, puoi semplicemente abbandonare questo ramo. Se si desidera lavorare su ulteriori modifiche, è sufficiente creare un altro ramo da master
e utilizzarlo per lavorare.
Inoltre, non impegno o unire eventuali modifiche locali al ramo master
. Io uso solo il ramo master
per sincronizzarlo con il ramo original_repo
master
. es:
git checkout master
git fetch original_repo
git merge original_repo/master
Questo assicura il ramo master
è sempre sincronizzato con master
ramo del pronti contro termine originale. Ad esempio, se la richiesta di pull è stata accettata e unificata, quando avviene il recupero e l'unione, lo master
locale avrà anche tutto il codice "approvato" utilizzato nel repository originale.
Fondamentalmente utilizzare master
per sincronizzarsi con il repository originale master
e sempre diramazione dal master quando si desidera apportare modifiche. Usa quei rami per le tue richieste di pull al repository originale.
Per caso hai fatto le tue _proposed_ modifiche in un ramo separato (forked)? –