OK.
Ben tornato.
Quindi nell'ultimo video abbiamo visto quattro nuovi comandi entrare in quello stato, aggiungere e commettere tutti molto utili, specialmente aggiungere e
commit si usano sempre, ma tutto ciò che ci permette di fare è aggiungere file e commetterli.
Salvali in pratica fai dei piccoli checkpoint per tornare effettivamente al vecchio codice.
Vedremo due nuovi comandi.
Ottieni il login per il check-out e in realtà ti mostreranno qualcun altro, ma non sono così
essenziali come questi due.
Quindi sono nella stessa cartella se scrivo.
Iniziamo con noi.
Potete vedere che ho questi tre file per tipo ottenere lo stato.
Non ho apportato alcuna modifica e se guardo chi me li riapre.
C-9 in realtà sì.
E facciamo gatto e cani.
Non so se ti ho mostrato questo prima che tu possa semplicemente incatenarli insieme in questo modo.
OK.
Quindi abbiamo questi tre file i cani uno è vuoto.
Va bene.
Supponiamo che questa sia un'app enorme e in qualche modo ho incasinato qualcosa e ho ricevuto un errore.
Quindi faccio qualcosa di sbagliato e il mio codice non funziona più.
E di nuovo fingere che sia una grande app e in realtà non so quale sia il problema o
forse stavo provando qualcosa e ho deciso di rovinarlo.
In realtà non mi piace.
Torniamo alla mia vecchia versione.
Quindi la prima cosa che vuoi fare è digitare get log in e questo ci darà una cronologia o un
log di tutti i commit che abbiamo fatto in questo repository.
Quindi una nota veloce.
Si apre questo tipo di nuova interfaccia terminale in cui, se si preme Invio, in realtà si sta per scorrere è possibile utilizzare anche
la freccia su per scorrere, ma non è possibile digitare i comandi regolari in questo momento.
Nota come il cursore è cambiato un po '.
C'è una maledizione o c'è un colon proprio qui per uscire da questo.
Puoi digitare Q Quindi torna indietro per ottenere il registro.
E iniziamo dall'inizio.
Quindi in fondo.
La prima cosa che ho fatto Puoi vedere prima l'autore la data in cui ho effettuato questa operazione e il codice che
ho eseguito che era il messaggio di commit aggiunto X-File.
E poi il prossimo è stato aggiungere il file di cattura e poi aggiungermi a file di cani e gatti.
E sapevi che avevamo anche dei file di aggiornamento.
Quindi sì, hanno tutte le volte che i messaggi sono davvero importanti.
descrittivi, specialmente se stai rivisitando il codice se torni indietro dopo un po 'di tempo.
E devono essere
Ma la parte più importante per quanto riguarda i comandi reali che eseguiamo.
Non scriviamo mai veramente questi messaggi di commit.
Sono solo per gli umani.
Ma la parte importante per il computer è questo hash di commit qui questa lunga stringa.
È davvero molto importante perché è l'identificatore univoco.
Ecco cosa succede se voglio tornare indietro Voglio guardare il codice fin dall'inizio aggiungere il file app indietro
nel tempo.
Ho bisogno di questo.
Quindi ho intenzione di copiarlo.
Diciamo che voglio tornare indietro fino a quando ho appena avuto il file dell'app nessun file cat senza file dugs.
Copia questo comando qui C e premo Q per uscire e poi vedremo il nuovo comando.
O il secondo nuovo comando che viene controllato.
Quindi scrivo get check out e questo è un comando veramente versatile.
È usato per un sacco di cose diverse, ma l'idea generale è che è usato per andare e
vedere qualcos'altro andando e controllando qualcos'altro se si tratta di un ramo o di un commit precedente.
A proposito, non abbiamo parlato di rami, ma è spesso usato per farlo cambiare ramo.
Quindi abbiamo bisogno di essere estratti e quindi incollare quella lunga stringa e premere invio.
E in realtà prima di farlo, lasciami uscire da lì e digito semplicemente lo status.
La prima cosa che vedo è che ho apportato un cambiamento alla mia app Sì, ma non l'ho messo in scena per
Commit. Non l'ho aggiunto ma, cosa più importante, detto sul master Branch di nuovo non sappiamo veramente quali rami sono ma ma
tutto ciò che devi sapere per ora è che il padrone è la nostra base di partenza.
Quindi tutto ciò che abbiamo fatto è stato su Master.
OK.
E ho anche questo piccolo prompt qui sul mio prompt dei comandi che dice master.
Quindi ora se eseguo il comando sembra che l'abbia perso.
Scrivilo ancora.
Prendi il check-out e incollalo e poi premi invio.
La prima cosa che vedrai è che mi sta dicendo che ho dei cambiamenti che non sono stati commessi.
E se verificassi questo, se tornerò qui, perderò quei cambiamenti.
E questo perché può tenere traccia di così tante cose contemporaneamente.
Quindi ho alcune modifiche in questo momento.
Questa linea che ho fatto e ottenuto è guardarla e dire che vuoi che io commetta questo a te voglio
che aggiunga questo.
Ma se torno indietro e visualizzo un vecchio codice, questo non lo saprà più.
Quindi fondamentalmente mi sta avvisando prima di tornare indietro.
Probabilmente dovresti aggiungere e commettere questo o sbarazzartene interamente, quindi non farci caso, basta
sovrascriverlo.
Ho intenzione di aggiungere in commit anche se ho intenzione di farlo ottenere l'app pubblicitaria.
Sì e il mio messaggio di commit sarà solo un file di app di messaggistica per ottenere lo stato di nulla da salvare.
Ancora su Branch Master.
Ora proviamo a verificarlo di nuovo.
Questa volta riceviamo un messaggio molto più lungo.
Soprattutto se si nota che non dice più Master proprio qui.
Viene troncato perché è così lungo.
Ma se scrivo questo stato vedo la testa distaccata a 5 cd blah blah blah.
Quale è l'inizio di questo hash.
OK, quindi a mio parere questo è molto buono inizia a diventare davvero confuso questo termine capo qui.
È sempre fonte di confusione per la maggior parte delle persone che conosco, compresi i nostri sviluppatori.
È fondamentalmente un puntatore.
Danno come un puntatore nello spazio o nel tempo il luogo corrente in cui ti trovi e puoi spostarlo
per spostarti avanti e indietro nel tempo.
Ciò che è importante è che non siamo più sul Master.
Quindi, quello che abbiamo fatto è che siamo tornati indietro e abbiamo osservato che stiamo sostanzialmente controllando che stiamo ispezionando
la vecchia versione del codice.
Quindi, se scrivo LS, questo è il bello.
Ho solo un file qui.
Così, quando sono tornato indietro, quando ho controllato che il vecchio codice in uscita mi ha trasportato indietro nel tempo, mi ha
riportato indietro e ho potuto vedere cosa avevo allora.
Ma è importante notare che quando faccio un check out come se fossi prelevato e poi il
nome hash del commit, se lo faccio mi porta fuori dal flusso corrente o dal normale flusso di lavoro del
bene.
Ecco perché dice Capo distaccato.
sorta di timeline che assomiglia a questa in cui ognuno di questi spettacoli è un commit.
Quindi, se immagini che la nostra storia ha una storia come una
Fai ancora un altro.
OK.
Oh accidenti.
Eccoci.
Quindi ognuno di questi è un punto nel tempo in cui ci siamo impegnati ed è in una sorta di elenco
lineare qui dove abbiamo iniziato quello e poi abbiamo apportato alcune modifiche nuovamente commesse.
E c'è un flusso in questo.
Questo è dove eravamo l'ultimo impegno.
Questo è ciò che è noto attualmente almeno questo è dove un master è così ovvio che Master è
dove eravamo prima che facessimo questo comando di check out.
Poi ho eseguito il check-out e questo commit e mi ha portato indietro fino a credere che il nostro primo commit
e ci ha detto che testa staccata a quel messaggio di commit.
Ciò significa che il maestro è ancora qui.
Non abbiamo spostato questo master indietro.
Quello che abbiamo fatto è tenuto lì ma abbiamo staccato la testa.
E ancora penso che questo sia molto confuso.
Ciò che è importante è che fondamentalmente abbiamo aggiunto questa idea di ciò che è giusto qui.
Non so perché questo abbia cambiato l'evidenziazione della sintassi, ma la testa è qui.
Ma siamo partiti qui, quindi abbiamo affari in sospeso qui.
Quindi quello che dobbiamo fare è totalmente da parte nostra.
Di solito quando usiamo check out è solo per dare un'occhiata ad alcuni vecchi cambiamenti solo per controllare il nostro vecchio codice
e poi tornare a dove eravamo.
vecchio codice e poi torniamo al master e questo risolverà un problema di rilevamento della testa.
Quindi pensaci come se avessi premuto il pulsante di pausa sul codice che avevamo e poi abbiamo controllato un codice precedente che
è dove siamo adesso e poi forse copiamo una riga o due forse visualizziamo una nota che abbiamo scritto a noi
stessi o guarda un
Non è davvero un problema, ma può essere perché se comincio a fare modifiche in questo momento nella
mia app James e io cerchiamo di aggiungere e commettere si imbatteranno in un problema che è che
so cosa fare perché abbiamo questi abbiamo un master qui abbiamo testa qui.
Prenderemo una decisione.
Quindi di solito quello che facciamo è controllare qualcosa ispezionato.
Guardalo guarda un po 'di codice e poi torna al master.
A volte però vuoi tornare a una vecchia versione e ripristinare.
Il che significa fondamentalmente tornare indietro e iniziare in quel momento piuttosto che limitarsi a controllarlo.
Quindi, prima di farlo, lascia che ti mostri solo come torni a padroneggiare.
Quindi, di nuovo, lo stato dice che ci siamo distaccati da questa lunga stringa.
Potrei fare.
Buona.
Controlla master.
E questo mi riporta indietro nel tempo.
E ora per prima cosa ho notato che quei file tornano, io scrivo ls e ora ho di nuovo quei tre file e
il tipo giusto ottiene lo status.
Sono su Branch Master.
Quindi abbiamo fatto un piccolo viaggio all'indietro.
La metà di noi era un pari.
La metà di noi era tornata e poi siamo tornati al master e tutto è di nuovo felice.
Tutto ok.
Ma diciamo che voglio tornare indietro Voglio tornare a fare il log in prima di aggiungere il file dei
cani.
Quindi questo messaggio di commit commit dove abbiamo aggiunto in meow al file catch.
Quindi dovremmo avere i gatti e il file dell'app e voglio solo tornare a quello.
Quindi non voglio andare a dare un'occhiata e guardarlo ma in realtà voglio che il mio codice rifletta quello stato.
Voglio aggiungere un nuovo commit che dice che siamo tornati indietro sto ricominciando senza il file dogs.
come se ti fossi smarrito di conoscere una parte importante del tuo romanzo o di voler tornare indietro
prima di aggiungere l'autenticazione dell'utente o prima di aggiungerlo in Bootstrap e vuoi solo tornare indietro e ricominciare da capo.
Quindi questo sarebbe
A quel punto e la cosa sfortunata qui è che ci sono molti modi per farlo.
E prima di mostrarti alcuni di loro, te ne mostrerò uno.
Ma prima di farlo voglio aggiungere una nota su come gli sviluppatori la usano.
La maggior parte degli sviluppatori e questo è decisamente generalizzato, ma la maggior parte
degli sviluppatori sono piuttosto a proprio agio con il flusso di lavoro comune di cui stiamo parlando, lo
stato di aggiunta dello stato di commit e il commit continuo.
per annullare qualcosa per eliminare i cambiamenti, qualunque cosa sia, è qualcosa che in realtà non lo si fa spesso.
Ma quando si tratta di tornare al vecchio codice
È piuttosto raro che tu abbandoni conosci il tuo codice corrente soprattutto quando sei in una squadra più grande.
Non è non è che non succede mai.
Ma quelle cose non sono la norma.
E direi che la maggior parte degli sviluppatori non sanno come farlo o se sanno un modo
per farlo, ma ci sono cinque o 10 modi diversi per farlo.
Quindi il modo in cui le persone usano di nuovo è che sono a loro agio con molte nozioni di base.
Il pane e il burro comandano davvero da cinque a sette comandi.
E poi un giorno qualcuno dovrà fare qualcosa che non sanno come fare.
E lo cercano e basta.
Quindi qualcosa come Stack Overflow è davvero molto utile.
E se guardiamo ho una spedizione overflow stack inclusa come link.
C'è una domanda qui.
Come faccio a tornare dal mio stato attuale a un'istantanea fatta su un certo commit.
Quindi, come faccio a tornare a un vecchio commit, non solo a controllarlo come abbiamo visto, ma come
faccio a ripristinarlo.
E ci sono probabilmente 20 risposte diverse e nessuna è la stessa.
Quindi passerò solo attraverso alcuni di loro.
Vedrai che alcune di esse sono lunghe più righe.
Alcuni di loro ti chiederanno, o alcuni di loro ti distruggeranno praticamente tutti i commit che
hai fatto prima di tornare indietro.
Alcuni di loro manterranno i tuoi impegni.
Ci sono molti modi diversi.
Quello con cui ho intenzione di lavorare è questo qui.
È bello e breve ed è abbastanza facile fare ciò che facciamo mentre scriviamo invertiti.
Dash dash no dash commit e poi il commit che vogliamo tornare a punto dot head.
E come puoi vedere qui dice che questo ripristinerà tutto dalla testa all'hash del commit fino a
qualsiasi commit che abbiamo fornito, in modo da ricreare la data di commit come se ogni commit fosse stato
un ritorno indietro.
Quindi non è così importante.
E poi il trattino dash No commit è una bandiera che dice solo di annullare tutti i commit in una volta
piuttosto che eseguirli uno alla volta, che poi ci chiederebbe un messaggio per ogni singolo.
Quindi, piuttosto che farlo, possiamo semplicemente fare dash dash. No commit, ripristinerà tutto e poi
potremo eseguire get commit e dargli un messaggio come back-back o annullare le modifiche qualunque cosa facciamo.
Quindi proviamo ora per tornare qui e ho intenzione di copiare questo nelle note in
modo da averlo lì e incollarlo qui.
E anche questo ovviamente deve cambiare a seconda del commit.
Quindi voglio tornare indietro.
Penso che ho appena copiato qualcos'altro che non ho più nei miei appunti.
quando ho aggiunto meow ai gatti e diamo solo una rapida occhiata a come appaiono i file in questo momento.
Voglio tornare a
Quindi i cani sono vuoti.
Cats ha miagolio e fa le fusa e l'indirizzo ha tutte queste cose.
OK.
Quindi, ora, se provo questa riga, digita sempre lo stato get e una cosa che vale la pena di notare è che se provi
e ripristini e hai delle modifiche che non sono state accettate.
Quindi se ho fatto un nuovo file o se cambio qualcosa nei cani.
Sì.
E ho provato a ripristinarlo mi metterebbe in guardia.
Direi che hai modifiche senza impegno cosa vuoi che faccia.
Quindi la maggior parte delle volte aggiungi solo quelle modifiche.
Impegnati e poi farai riferimento.
OK, quindi ottenere il cruscotto del fiume non commettere cruscotto, quindi Pace ha detto stringin trattino o punto dot head.
Sì, lo so questo è molto.
No, non lo ricorderei mai da solo.
Impilati troppo.
Lo trovi di nuovo online.
Usa le tue abilità su Google.
È.
Come ho detto qualcosa che non fai spesso, ma è importante sapere come trovare
e capire come farlo non è necessario memorizzarlo affatto.
Quindi fai il commit e aggiungi.
Vale la pena memorizzarli.
Ma qualcosa di simile a questo trattino sul fiume, niente commit.
Non vorrei sprecare il tuo tempo.
OK.
Notato che è successo qui.
Puoi vedere che abbiamo a Jasin cats J. S. ma i cani se ne sono andati.
Diamo un'occhiata ai gatti.
Ha solo miagolio.
Diamo un'occhiata in realtà sì, ha solo una linea.
Questa è la mia app complessa per I digitare lo stato in questo momento.
Vedrai che in realtà abbiamo alcuni cambiamenti che devono essere commessi e quei cambiamenti sono ciò che
fondamentalmente è appena cambiato.
Quando tornai indietro cancellò il file del cane e cambiò app e gatti.
Sì.
Quindi aggiungiamo commit e non abbiamo bisogno di aggiungere.
Dobbiamo solo impegnarci.
Lo vedi già dice che il cambiamento deve essere commesso.
E inoltre ci dice che stai ripristinando il commit e quindi il messaggio di commit.
OK, quindi di solito dovremmo inserire qui è tornare indietro e quindi è possibile sia tenere quel lungo hash proprio lì
che stringa o si potrebbe dare un messaggio di commit o un punto nel tempo ripristinare di
nuovo prima che l'autenticazione si interrompesse o ripristinare di nuovo prima del bootstrap e poi premi invio.
Ora per ottenere lo stato erano su Master.
Nulla da commettere o la directory può essere pulita.
In effetti, sì, nei gatti sì, è importante notare che non perdo tutto.
aggiungilo ai file di aggiornamento file di cani e gatti rovinare il file e poi tornare indietro.
Se volessi tornare a quando ho avuto il file dei cani, potrei fare il log e tu sai che il mio comitato ora assomiglia a
questo primo file di app e poi aggiungi il file di un gatto
Quindi, anche se non ho più il file del cane in pratica lo stato in cui ci trovavamo, ho questo
commit.
Quindi non l'ho fatto neanche io.
Non lo perdo.
Posso tornare a quello in qualsiasi momento se lo voglio.
potente e penso che sia anche molto intimidatorio quando inizi quando vedi qualcosa di simile.
Quindi diventa davvero molto
Quindi ho discusso mostrando che stai tornando.
Ho avuto il motivo per cui ho deciso di farlo perché, anche se non lo fai molto, penso
che ti mostri cosa puoi fare ottenendo che con una sola riga, forse due righe.
Puoi avere 100 file e potresti tornare indietro quando avevi un file o potresti avere 100 file che
sono stati tutti compilati con migliaia di righe ciascuno e potresti scrivere di nuovo e potrebbero avere
solo una riga ciascuno.
Puoi puoi usarlo.
È davvero potente specialmente quando lavori su progetti più grandi.
Quindi ho discusso di mostrartelo perché penso che sia un po 'intenso.
È molto da vedere e sai qualcosa del genere.
Non è difficile per chiunque ricordarlo o chiunque lo sappia.
Quindi non voglio avere questa impressione.
So di essere un disco rotto qui, ma non esagerare su questa linea.
OK.
un po 'di questo stato di commit degli annunci del flusso di lavoro, se lo desideri, puoi controllare il vecchio codice.
Quindi abbiamo parlato
È possibile annullare se è necessario dare un'occhiata al post di overflow dello stack se è necessario farlo.
Quello che vedremo in seguito è come ottenere come funziona.
Quindi abbiamo visto come possiamo usarlo localmente.
Quindi potrei lavorare a un progetto un romanzo.
Posso scrivere il mio romanzo ai piccoli posti di blocco con ottenere il commit dell'annuncio e poi posso tornare indietro e guardare
ciò che ho o posso tornare.
ora, se volessi inserire il mio codice, mettere il mio romanzo su un buon hub in modo che altre persone potessero condividerlo.
Ma
Altre persone potrebbero leggerlo, altre persone potrebbero modificarlo, potrebbero farlo sul proprio computer, apportare
alcune modifiche e condividerle con altre persone.
Ecco perché è così impegnativo ed è quello di cui parleremo nel prossimo video.