Prima di passare a un repository remoto, voglio vedere una diff consolidata tra il capo del mio repository locale e il capo del repository che sto spingendo troppo. Il modo migliore che conosco per fare questo è hg clone
il repository remoto, ottenere la revisione della testa, quindi fare una diff tra la mia testa e quella revisione. Ma questo richiede tempo. C'è un modo rapido?Come visualizzare il diff tra head of local repository e head of remote repository?
risposta
Se stai cercando un modo per ottenere tutte le modifiche apportate che non si trovano nel repository remoto.
$ hg outgoing -p
Il -p
è opzionale e delle relazioni sotto forma di una patch, altrimenti si riferisce allo stesso modo un hg log
. Questo è solo il tuo cambiamento indipendentemente dal fatto che qualcun altro abbia inserito qualcosa nel repository remoto.
Se siete alla ricerca di cambiamenti nel repository remoto che non avete quindi si utilizza
$ hg incoming
Anche in questo caso c'è un modulo -p
se lo vuoi.
Nessuno di questi è esattamente quello che hai chiesto, ma sospetto che in realtà non lo vuoi.
Se si desidera realmente la differenza tra le modifiche e la nuova testina nel repository remoto creato da qualcun altro, è necessario eseguire le relative modifiche.
hg pull
hg heads # find revision number of new head
hg diff -r 124992 # or whatever the revision number is.
Oltre a
$ hg outgoing -p
che io normalmente uso, mi piace puntare a revision sets. Questo è un linguaggio di query che è possibile utilizzare con hg diff
(e tutti gli altri comandi che consentono di specificare i set di modifiche). Così si può implementare hg outgoing -p
da
$ hg log -r "outgoing()" -p
e si può ottenere un diff tra il genitore del primo changeset in uscita e l'ultimo changeset in uscita con
$ hg diff -r "p1(first(outgoing()))" -r "last(outgoing())"
Infine, il remotebranch extension può mantenere le informazioni locali sulla filiali remote in modo che non sia necessario utilizzare la rete per cercare queste informazioni. Esso consente di utilizzare
$ hg log -r "not pushed()"
per trovare i gruppi di modifiche in uscita, ma è molto più veloce dato che non c'è nessun viaggio rete rotonde coinvolti.
- 1. Git Diff tra HEAD e SVN Master
- 2. Git. Remote HEAD è ambiguo
- 3. Git - Crea local HEAD il nuovo master
- 4. SourceTree: vedere la differenza tra repository locale e repository remoto?
- 5. Best Practice of Repository e Pattern Unit of Work con più DbContext
- 6. Correzione del repository git rotto. Nessuna revisione predefinita 'HEAD'
- 7. È il modo più breve di scrivere git diff HEAD^HEAD?
- 8. Git remote ha il master ma non HEAD
- 9. Breeze con un modello Unit Of Work/Repository
- 10. HTML5 Canvas Draw Rect - Got Border of Diff Width?
- 11. Perché il mio repository Git è entrato in uno stato HEAD distaccato?
- 12. Differenza tra git HEAD e lo stato attuale del progetto?
- 13. Comando Git per visualizzare ID commit HEAD?
- 14. Come si vede git diff dall'inizio fino al HEAD?
- 15. Impossibile connettersi al repository: Errore nell'esecuzione del comando: git.exe ls-remote -h https://github.com/szabbas/Sample-programs.git HEAD
- 16. Capistrano e Git, rovinando la mia vita. "Impossibile risolvere la revisione per [HEAD] nel repository ..."
- 17. Git - remote: Repository non trovato
- 18. Git 'fatale: Nessun riferimento: HEAD'
- 19. Come ottenere l'ultimo commit da HEAD in un repository git usando libGit2Sharp?
- 20. configurare repository git a Jenkins
- 21. Entity Framework e Unit of Work
- 22. Come ottenere l'ultimo SVN HEAD in git-svn?
- 23. Confronto tra GenericTypeDefinition of interfacfaces
- 24. Git force ritorna a HEAD ~ 7
- 25. Come rendere Head il master in git?
- 26. Differenza tra repository e servizio?
- 27. Pull change from remote git repository
- 28. InvokeRequired of Form == false e InvokeRequired of contained control == true
- 29. Git Extensions - Differenze tra repository personale e repository centrale
- 30. Dichiarazione "NO-HEAD"
Se stai spingendo verso un repository la cui testa non è un antenato della tua revisione attuale, non è un segno che probabilmente stai facendo qualcosa di molto sbagliato? – geoffspear
Il capo del repository remoto è un antenato del mio capo locale. Voglio ottenere una differenza tra quella testa e la mia testa locale. Quindi, forse, voglio solo un comando hg per stampare la revisione principale di un repository remoto. Quindi posso diff manualmente contro quella revisione. – jhourback