Quando lavoro su un ramo di funzionalità, tendo a voler ripulire i commit nel ramo usando un rebase interattivo prima che il mio lavoro venga esaminato e integrato nel ramo principale.
Durante lo sviluppo della funzione, voglio spingere il mio lavoro intermedio al repository remoto come misura di backup. Cioè quando il mio disco rigido si arresta, non voglio che il mio intero ramo funzioni vada perso.
Tuttavia, questo porta al fatto che spesso devo fare un git push --force
al repository remoto dopo un rebase, un'azione generalmente disapprovata. O come dice la pagina github collegata:
Because changing your commit history can make things difficult for everyone else using the repository, it's considered bad practice to rebase commits when you've already pushed to a repository.
Esiste una politica (generalmente accettata) che risolve questo conflitto?
Perché questo non è un duplicato di È il la "Regola d'oro della ribellione" è così essenziale?
La mia domanda qui richiede un criterio per risolvere il conflitto tra il desiderio di eseguire il backup del tuo lavoro nel repository remoto e ribaltare il tuo lavoro , mentre l'altra domanda cerca di negare che c'è un conflitto e chiede perché alcune persone pensano che il conflitto esista del tutto, e quindi chiede perché "è essenziale" non spingere i ribelli forzati?