C'è un modo per fare un git pull
che ignori le modifiche ai file locali senza far fuoriuscire la directory e dover eseguire un git clone
?Git Pull mentre si ignorano le modifiche locali?
risposta
Se vuoi dire si desidera che il tiro di sovrascrivere le modifiche locali, facendo l'unione come se l'albero di lavoro erano pulite, ben, pulire l'albero di lavoro:
git reset --hard
git pull
Se ci sono file locali non monitorate è possibile utilizzare git clean
per rimuoverli. Utilizzare git clean -f
per rimuovere i file non tracciati, -df
per rimuovere file e directory non tracciati e -xdf
per rimuovere file o directory non tracciati o ignorati.
Se d'altra parte si desidera mantenere le modifiche locali in qualche modo, utilizza scorta di nasconderli via prima di tirare, poi riapplicare loro in seguito:
git stash
git pull
git stash pop
io non credo che rende qualsiasi intuire letteralmente ignorare le modifiche, - metà del pull è unire e deve unire le versioni del contenuto con le versioni scaricate.
Se dopo 'git reset' i file differiscono ancora dal telecomando, leggi http://stackoverflow.com/questions/1257592/removing-files-saying-old-mode-100755-new-mode-100644-from-unstaged- changes-in –
Git è la cosa più strana di sempre. Ripristino Git - difficile fatto. Quindi git status: il tuo ramo è avanti di 2 commit. – shailenTJ
@shailenTJ "Cambiamenti locali" qui significa modifiche non vincolate, non commit locali. 'git reset --hard' influenza il primo, non il secondo. Se vuoi reimpostare completamente allo stato del telecomando, 'git reset --hard source/
Vedere git stash per inserire tutte le modifiche locali in un "file di memoria" e ripristinare l'ultimo commit. A quel punto, puoi applicare le tue modifiche nascoste o scartarle.
Se siete su Linux:
git fetch
for file in `git diff origin/master..HEAD --name-only`; do rm -f "$file"; done
git pull
Il ciclo for cancellerà tutti i file monitorati che vengono cambiati nel repository locale, in modo git pull
funzionerà senza problemi.
La cosa più bella di questo è che solo i file tracciati verranno sovrascritti dai file nel repository, tutti gli altri file rimarranno intatti.
Penso che intendessi "file tracciati" che è esattamente quello di cui ho bisogno, grazie. – Ali
Il comando muggito non funziona sempre. Se lo fai solo:
$ git checkout thebranch
Already on 'thebranch'
Your branch and 'origin/thebranch' have diverged,
and have 23 and 7 different commits each, respectively.
$ git reset --hard
HEAD is now at b05f611 Here the commit message bla, bla
$ git pull
Auto-merging thefile1.c
CONFLICT (content): Merge conflict in thefile1.c
Auto-merging README.md
CONFLICT (content): Merge conflict in README.md
Automatic merge failed; fix conflicts and then commit the result.
e così via ...
Per davvero ricominciare da capo, il download thebranch e sovrascrivere tutte le modifiche locali, basta fare:
$ git checkout thebranch
$ git reset --hard origin/thebranch
Questo funzionerà bene.
$ git checkout thebranch
Already on 'thebranch'
Your branch and 'origin/thebranch' have diverged,
and have 23 and 7 different commits each, respectively.
$ git reset --hard origin/thebranch
HEAD is now at 7639058 Here commit message again...
$ git status
# On branch thebranch
nothing to commit (working directory clean)
$ git checkout thebranch
Already on 'thebranch'
SÌ. Questo è ciò di cui avevo bisogno per un approccio definitivo "non dare un F su ciò che è locale". Grazie. :) – Adambean
Per me il seguente lavorato:
(1) In primo luogo prendere tutte le modifiche:
$ git fetch --all
(2) Quindi ripristinare il maestro:
$ git reset --hard origin/master
(3) Tirare/aggiornare:
$ git pull
Questo preleverà il ramo corrente e tentare di fare un avanzamento veloce da padroneggiare:
git fetch && git merge --ff-only origin/master
git fetch --all && git reset --hard origin/master
- 1. Git pull si interrompe, le modifiche ai file locali verranno sovrascritte dall'unione
- 2. Smart Git non mostra le modifiche locali
- 3. Git: come sovrascrivere le modifiche locali?
- 4. Git: Annulla le modifiche locali; aggiungi git. + git rm?
- 5. Mantenere le modifiche mentre si fa `git stash`
- 6. come eliminare le modifiche alle branch locali di git?
- 7. Unisci sottostruttura di Git, ma mantenere le modifiche locali?
- 8. Git pull ha bisogno di scartare i file locali
- 9. Git pull risolve i conflitti usando le mie modifiche
- 10. Come vedere le modifiche al codice dopo git pull?
- 11. cassa git unisce automaticamente modifiche locali
- 12. Git pull cancellato modifiche non modificate
- 13. Git Pull: modifica autenticazione
- 14. git stash e git pull
- 15. Come annullare le modifiche locali in un file specifico
- 16. Le modifiche tracciate da RavenDB ignorano la convalida
- 17. Git errore di tiro: Le modifiche locali alle seguenti file sarebbe stato sovrascritto da fusione:
- 18. git-subtree pull complicazioni
- 19. git pull (solo aggiornamento file locale)
- 20. git pull: permesso negato
- 21. Pull change from remote git repository
- 22. È possibile ottenere git per aggiornare automaticamente le note sul server remoto quando eseguo un git push/git pull
- 23. Git Empty Commit senza modifiche
- 24. Git: pull vs. fetch → pull
- 25. Impedire che vengano apportate modifiche locali in Git
- 26. git pull e git push in una volta
- 27. sottomodulo git commit/push/pull
- 28. Dati principali - Guarda le modifiche e registra le notifiche locali
- 29. GIT: aggiunta di modifiche locali a un ramo non corrente
- 30. Git recuperare modifiche non
Con "ignora" vuol dire "sovrascrive"? – Cascabel