venerdì 23 ottobre 2020

Git - Domande e risposte per valutare le tue competenze

Come ottenere il badge di Linkedin©

Vuoi che le tue competenze Git vengano verificate e certificate?

Ti stai preparando per un colloquio di lavoro?


Vediamo se posso aiutarti. Di seguito riporto alcune domande estrapolate dal mio esame per la certifica del software di controllo versione Git¹. Linkedin© assessment sono quiz a risposta multipla per valutare le tue competenze. Studiare è importante perché i quiz a cui sei sottoposto non sono banali, sono a tempo e se non si raggiunge il settanta per cento se ne riparla dopo tre mesi. Sono sicuro che troverai interessanti ed utili le seguenti domande ma considerale solo un punto di partenza e approfondisci l'argomento prima di accettare la sfida o se devi avere un colloquio di lavoro!


Ecco cosa ti aspetta all'esame di Git: domande e risposte


🙈💪💥



1- Come si visualizza l'elenco dei file che sono stati modificati o aggiunti ad uno specifico commit?
  • Si usa il comando "diff-tree" con l'hash di commit


2- Nel caso in cui hai fatto vari commit per una singola modifica o per una nuova funzionalità introdotta, qual è il metodo migliore per ristrutturare o rimodellare la storia dei commit?
  • Si effettua lo "squash" di tutti i commit correlati in uno solo, singolo e coerente


3- Un "push" verso un repository remoto invia anche i tags?
  • No, un push verso un repository non i invia anche i tags.


4- Dove sono memorizzati i files prima di fare il commit nel repository locale?
  • I files sono memorizzati nell'area di staging


5- La prima volta che hai fatto un push verso il repository remoto hai usato il comando git push -u origin master successivamente quale comando abbreviato puoi usare?
  • Puoi usare il comando abbreviato git push


6- A cosa serve il comando git rebase -i HEAD~5
  • Serve a visualizzare gli ultimi 5 commit e modificarli con il comando squash o fixup


7- A cosa serveno i comandi git reset –hard HEAD~5, git merge –squash HEAD@{1}
  • Il primo serve a resettare il ramo di commit indietro prima degli ultimi 5 commit
  • Il secondo effettua lo sqaush in un singolo commit


8- Come si crea un comando personalizzato nel tuo ambiente git?
Si crea un alias nel git file config


9- Quale comando si usa per modificare il precedente commit?
git commit –amend


10- Come si definisce o caratterizza la struttura dei commit?
Ogni commit è un data snapshot


11- Se usi questo comando git clone https://github.com/egigi/GitSample.git cosa succede?
Viene clonato o copiato il progetto remoto nella directory locale 'GitSample'


12- Hai fatto il merge e successivamente il commit di due rami o branch. Cosa ti conviene fare ulteriormente per tenere la struttura organizzata?
Elimino il ramo di cui ho fatto il merge con il comando git branch -d <branch name> 


13- A cosa serve il comando git rm –cached file.py  che impatto ha sull'area di staging?
Il file.py viene rimosso dall'area di stage e le sue modifiche non vengono più tracciate

14- Stai modificando un file ma all'improvviso in produzione si accorgono di un bug in un altro ramo. Cosa fai per salvare il lavoro corrente senza fare il commit?
Puoi usare il comando git stash per salvare il file corrente, vai al ramo che contiene il bug e risolvi il problema, fai il commit ed infine ritorni a lavorare nel primo ramo stashed.  


15- Come puoi unire commit multipli senza usare git merge --commit?

Puoi usare il comando ... wip


¹ Git è un software di controllo versione distribuito utilizzabile da interfaccia a riga di comando, creato da Linus Torvalds nel 2005. Git nacque per essere un semplice strumento per facilitare lo sviluppo del kernel Linux ed è diventato uno degli strumenti di controllo versione più diffusi. Wikipedia