Non riesco a capire come vedere esattamente cosa è stato modificato, nel repository remoto, da una "spinta". 'git log' mi mostra la serie di commit, ma quelli si sono verificati nel mio repository locale e sono stati spinti in momenti diversi; Vorrei sapere quali commit erano parte di ogni specifico "push"git: come vedere le modifiche dovute alla spinta?
risposta
In realtà, puoi pescare queste informazioni dal reflog. Non è la cronologia completa del repository remoto, ma piuttosto è la cronologia della tua copia del ramo del repository remoto. Quindi, non vedrai le modifiche apportate al repository remoto da altre persone. Non è carino, ma puoi probabilmente scrivere uno script per renderlo più semplice.
Ad esempio:
$ git reflog show origin/master
ca4f119 refs/remotes/origin/[email protected]{0}: pull --rebase: fast-forward
d303ece refs/remotes/origin/[email protected]{1}: pull --rebase: fast-forward
ce28c26 refs/remotes/origin/[email protected]{2}: pull --rebase: fast-forward
0f71883 refs/remotes/origin/[email protected]{3}: pull --rebase: fast-forward
8c2f0dd refs/remotes/origin/[email protected]{4}: pull --rebase: fast forward
2958d6c refs/remotes/origin/[email protected]{5}: update by push
6e9558c refs/remotes/origin/[email protected]{6}: pull --rebase: fast-forward
8854b35 refs/remotes/origin/[email protected]{7}: pull --rebase: fast-forward
b96f25d refs/remotes/origin/[email protected]{8}: pull --rebase: fast-forward
efb0ab8 refs/remotes/origin/[email protected]{9}: pull --rebase: fast-forward
71c12ca refs/remotes/origin/[email protected]{10}: pull --rebase: fast-forward
d860e59 refs/remotes/origin/[email protected]{11}: update by push
6342dbb refs/remotes/origin/[email protected]{12}: fetch: fast-forward
...
Si può vedere qui che la mia più recente spinta avanzata origin/master
da 6e9558c
a 2958d6c
. Per vedere i commit puoi usare git log 6e9558c..2958d6c
. Per esempio,
$ git log --abbrev-commit --pretty=oneline 6e9558c..2958d6c
2958d6c Commit Summary 4
5cbe548 Commit Summary 3
13d007c Commit Summary 2
4f19ac3 Commit Summary 1
Se si ha accesso terminale al repository remoto, si potrebbe fare qualcosa di simile su quel fine per vedere tutte le spinte che ha ricevuto.
Git non tiene traccia di quali commit erano parte di quale operazione "push"; o il repository contiene una certa sequenza di commit, oppure no. Non importa a Git come sono arrivati i commit, se un gruppo di tre commit era parte di una spinta, o ognuno di essi è stato fatto in una spinta separata.
In realtà non è vero: il reflog si ricorderà di tutte le modifiche apportate a ciascun ramo. Una spinta di più commit apparirà come un singolo cambiamento nel reflog. Vedi la mia risposta qui sotto. –
È vero, ma il reflog non è in realtà parte del repository. In particolare, non è possibile visualizzare un reflog remoto senza accesso al repository diretto (ad esempio, non è possibile visualizzare un reflog per un repository su Github). –
Vero ma Github espone qualcosa di simile tramite la loro API: https://objectpartners.com/2014/02/11/recovering-a-commit-from-githubs-reflog/ –
- 1. git: come vedere le modifiche che il prossimo push invierà
- 2. Come vedere le modifiche al codice dopo git pull?
- 3. Vedere le modifiche ad un file specifico usando git
- 4. Vedere le ultime modifiche in svn
- 5. Come vedo le modifiche nell'indice git?
- 6. vedere le modifiche in shelve in TFS2010
- 7. Cosa significa quando Git diff mostra le modifiche alla modalità?
- 8. git diff - mostrami le modifiche finali alla linea?
- 9. Come posso vedere le modifiche a localStorage in Angular2?
- 10. Come rendere Eclipse vedere le modifiche in Play! modelli compilati?
- 11. Git spinta a Heroku
- 12. Git: come sovrascrivere le modifiche locali?
- 13. Come fare GIT ignorare le mie modifiche
- 14. Come vedere le modifiche di "git svn dcommit" prima di dcommitting?
- 15. Mercuriale: come posso vedere solo le modifiche introdotte da un'unione?
- 16. Come posso vedere le modifiche in sospeso di Entity Framework?
- 17. mean.io spinta a git repo
- 18. Che cosa potrebbe causare che `git pull` non riesce a vedere le modifiche remote?
- 19. GitLab v5.0 git problemi spinta
- 20. Git: Annulla le modifiche locali; aggiungi git. + git rm?
- 21. Come apportare modifiche che solo io posso vedere?
- 22. Smart Git non mostra le modifiche locali
- 23. Eclipse Git Synchronize non visualizza le modifiche
- 24. git colpa - ignorare le modifiche non
- 25. Come posso utilizzare git rebase senza richiedere una spinta forzata?
- 26. come sovrascrivere con un git push, sovrascrivere le modifiche al server git?
- 27. Come cambiare le modifiche del vault?
- 28. git gettando errore tubo rotto sulla spinta
- 29. Come mostrare le modifiche non salvate in Git
- 30. Come monitorare un repository git per le modifiche?
È possibile ottenere il registro con data e ora? – user
'git reflog --date = iso' credits: https://stackoverflow.com/a/17369548/2234009 –