Come correggere l'errore Git & lsquo; Le modifiche locali ai seguenti file verranno sovrascritte dall'unione & rsquo;

Il messaggio di errore " Le modifiche locali ai seguenti file verranno sovrascritte dall'unione " si verifica nel meccanismo di controllo della versione di Git. Questo errore si verifica se hai modificato un file che ha anche modifiche nel repository remoto.

Errore Git: le modifiche locali ai seguenti file verranno sovrascritte dall'unione durante la codifica

Questo messaggio di errore viene evitato SE non sono presenti file non salvati che hanno anche modifiche nel repository remoto. Quando si riceve questo messaggio, è meglio consultare gli altri membri del team e chiedere la loro opinione. Sia che tu voglia unire le tue modifiche locali o mantenere la versione presente nel repository, è meglio tenere tutti a bordo.

Cosa sono i repository? Cosa sono push and pull in Git?

Un repository è una sorta di archivio per il codice che viene costantemente modificato e ottenuto dai membri del team attraverso il meccanismo di controllo della versione di GitHub. Un ' Pull' significa che stai tirando l'ultima versione del repository sul tuo archivio locale / IDE (Integrated Development Environment) come Pycharm ecc.

Dopo un pull, apporti modifiche al codice o aggiungi altre funzionalità. Una volta terminato, si " spinge" il codice nel repository in modo che le modifiche vengano salvate e vengano apportate aggiunte. Il codice diventa accessibile anche ad altre persone.

Se non conosci il controllo della versione di GitHub, ti consigliamo di esaminare prima tutte le nozioni di base. In questo articolo, presumiamo che tu abbia già una conoscenza di base e conosca tutti i dettagli.

Come risolvere il problema "Le modifiche locali ai seguenti file verranno sovrascritte dall'unione"?

La risoluzione di questo messaggio di errore dipende da cosa si desidera fare. Puoi scartare le tue modifiche locali ed estrarre quelle nel repository oppure puoi salvare le tue modifiche locali in uno stash ed estrarre la versione dal repository. Tutto dipende dalle tue preferenze.

Pertanto, ti consigliamo di consultare i membri del tuo team e assicurarti di essere tutti sulla stessa pagina prima di andare avanti. Se commetti in modo errato o invii la versione sbagliata, potrebbe influire sull'intero team.

Metodo 1: forzare un pull per sovrascrivere le modifiche locali

Se non ti interessano le modifiche effettuate localmente e desideri ottenere il codice dal repository, puoi forzare un pull. Questo sovrascriverà tutte le modifiche locali fatte sul tuo computer e apparirà una copia duplicata della versione nel repository.

Esegui i seguenti comandi nel tuo IDE:

git reset - hard git pull

Questo distruggerà istantaneamente tutte le modifiche locali, quindi assicurati di sapere cosa stai facendo e non hai bisogno delle modifiche locali.

Metodo 2: mantenere entrambe le modifiche (locale e dal repository)

Se desideri mantenere entrambe le modifiche (modifiche apportate localmente e modifiche presenti nel repository), puoi aggiungere e salvare le modifiche. Quando tiri, ci sarà ovviamente un conflitto di unione. Qui puoi usare gli strumenti nel tuo IDE (come Difftool e mergetool) per confrontare le due parti di codice e determinare quali modifiche mantenere e quali rimuovere. Questa è la via di mezzo; nessuna modifica andrà persa finché non le rimuovi manualmente.

git add $ the_file_under_error git commit git pull

Quando ottieni un conflitto di unione, apri gli strumenti di risoluzione dei conflitti e controlla riga per riga.

Metodo 3: mantenere entrambe le modifiche MA non impegnarsi

Questa situazione si verifica di tanto in tanto in cui gli sviluppatori non sono pronti a impegnarsi perché c'è del codice parzialmente rotto di cui stai eseguendo il debug. Qui possiamo archiviare le modifiche in modo sicuro, estrarre la versione dal repository e quindi decomprimere il codice.

git stash save --keep-index

o

git stash
git pull git stash pop

Se ci sono dei conflitti dopo aver aperto la scorta, dovresti risolverli nel solito modo. Puoi anche usare il comando:

git stash apply

invece di pop se non sei pronto a perdere il codice nascosto a causa di conflitti.

Se l'unione non sembra un'opzione praticabile per te, considera di fare un rebase. Il rebasing è il processo di spostamento o combinazione di una sequenza di commit in un nuovo commit di base. In caso di rebase, modificare il codice in:

git stash git pull --rebase origin master git stash pop

Metodo 4: apporta modifiche a parti "specifiche" del codice

Se vuoi apportare modifiche a parti specifiche del codice e non vuoi sostituire tutto, puoi eseguire il commit di tutto ciò che non vuoi sovrascrivere e poi seguire il metodo 3. Puoi usare il seguente comando per le modifiche che tu si desidera sovrascrivere dalla versione presente nel repository:

git checkout path / to / file / to / revert

o

git checkout HEAD ^ percorso / a / file / a / ripristina

Inoltre, è necessario assicurarsi che il file non sia gestito tramite:

git reimposta HEAD path / to / file / to / revert

Quindi procedi con il comando pull:

git pull

Questo tenterà quindi di recuperare la versione dal repository.

Raccomandato

Correzione: Minecraft non rispondeva
Che cos'è l'applicazione di registrazione del dispositivo del sintonizzatore TV digitale e deve essere rimossa?
Cos'è FileRepMalware e dovresti rimuoverlo