Difference between revisions of "CSharp:Source Control - Git - Dizionario"
From Aino Wiki
(→Termini) |
(No difference)
|
Latest revision as of 15:46, 17 October 2024
Termini
Termine o comando Git | Significato | Esempio |
---|---|---|
Bare repository |
E' un repository nudo ovvero privo dei files di lavoro su cui si può direttamente lavorare per modificarli, è un archivio che ha solo i files di lavoro di Git, il contenuto invece è protetto quindi criptato. |
|
Blame | Letteralmente "incolpare, dare la responsabilità". | |
Blob | E' una contrazione di "Binary large object". Ogni versione di un file è rappresentato da un blob, è un termine con cui ci si riferisce ad una variabile o file che possa contenere qualsiasi dato indipendentemente dal sua interpretazione. | |
Branch |
E' una diramazione della versione dell'intero progetto. E un commit a cui s’è data una etichetta per identificarlo importante notare chesono gerarchici ognuno ha un precedente tranne il primo. Il primo branch didefault è main o master creato con l’init, unbranch è un puntatore a uno specifico commit. Ci posson essere vari branch che corrispondono a versioni importanti del progetto e si possono unire mediante operazione di merge verso il ramo principale o altri, |
Crea un brach 'develop' copia di master:$ git branch develop $ git push -u origin develop |
Check in | Letteralmente "prendere possesso", "controllare". In Git non esistono i concetti di Check-in e check-out tipici di SVN ma quando si parla di check in si intende eseguire un git commit quindi consolidare le modifiche localmente.
|
... |
Check out |
Il comando
|
$ git checkout branch-name
$ git checkout master #Per RITORNARE all'ultima versione Per ripristinare un file specifico al suo stato di un particolare commit: |
Commit |
E' un’istantanea (chiamata anche snapshot) del repository ovvero dell’insieme delle risorse da gestire\versionare, poiché ci possono essere vari commit nella storia di un repository ogni commit è identificato univocamente. Git non si limita a memorizzare le differenze tra due versioni successive ma salva l’istantanea (compressa) del contenuto di tutti i file; se un file non cambia contenuto tra due commit viene messo un riferimento al commit precedente. Ogni commit conosce il suo “genitore” (parent commit). |
|
downstream | Si fa downstream ogni volta che si fa una copia da un repository es con clone, checkout, etc. | |
Fetch | Letteralmente "prendere". Azione per prelevare da Git (locale o remoto) sovrascrivendo i file locali, quindiignorando tutte le modifiche locali. | |
Fork | Letteralmente "forchetta" ma anche "bivio". Un "fork" in Git è una copia di un repository esistente in cui un nuovo owner si discosta dalla linea di codice\sviluppo ufficiale. Avviene quando uno sviluppatore vuole allontanarsi dal progetto originale. Quando si crea un Fork i precedenti contributori non saranno in grado di committare codice a meno che l'owner non gli dia accesso. | |
Head |
E' il puntatore al commit corrente. Ad ogni nuovo commit, l’head è aggiornato. LaWorking Copy attuale è quella a cui punta il puntatore head, tuttavia percapire qual è l’head della Working Copy attuale si esegue il comando git log –graph –-all –oneline. |
|
master |
E' il branch master e rappresenta la versione ufficiale del repository (questo non vuol dire che non ce ne siano di più aggiornate ma non sono quella definitiva ma "temporanea" a determinati fini) |
|
Object database |
E' ildatabase chiave/valore conservato nella cartella nascosta .git. lachiave è un valore calcolato in SHA1, il valore è il contenuto del file. |
|
Origin | E' un'abbreviazione che stà a rappresentare il repository remoto da cui inizialmente si è clonato. Più precisamente è utilizzato al posto dell'URL del repository remoto a cui ci si riferenzia più facilmente. | |
Pull | Letteralmente "tirare". E' l’opposto di push) acquisizione\download di un repository remoto da fondere edintegrare localmente. | $ git pull origin master
Questo comando scarica DAL server tutti il repository sulla tua macchina come un aggiornamento. |
Push | Letteralmente "spingere". Help Operazione di aggiornamento di un repository remoto, da un client si spingono le modifiche nell’archivio remoto. Esegue anche localmente la copia da un brach ad un altro es da master a develop | $ git push origin master
$ git push -u origin develop -u = Aggiunge upstream reference |
Remote repository |
O semplicemente Remote, è un repository su altro computer col quale si può chiedere che lui si allinei al nostro contenuto o ci si può allinearsi al suo i comandi a disposizione per farlo sono rispettivamente: push e fetch. Nel momento in cui si esegue un git clone si crea una copia locale e si salva il riferimento (URL) al repository da cui ha recuperato i dati, tale riferimento prende il nome di “remote”. |
|
Repository |
E' il database locale su file che conserva i vari commit. |
|
Snapshot |
E' un'istantanea dellintero progetto. Ogni volta che si fa un Commit Git crea una immagine di TUTTI i files presenti in quel momento e salva un riferimento chiamato "index". (Git in realtà non salva nuovamente tutti i file per ogni commit, ma crea per ciascuno di essi un collegamento alla sua versione precedente già salvata) |
|
Staging area o index |
fa datramite tra il file system ed il repository. È uno spazio dove parcheggiare glioggetti pronti per il prossimo commit mediante il quale finiranno nelrepository. |
|
Stash |
"metter da parte". Nel mezzo di un lavoro può esser necessario spostarsi temporanemente su un branch, l'aiuto viene dall'uso del comando |
|
Tag |
E' una etichetta/segnalibro che si può dare ad uno specifico oggetto come un commit allo scopo di potersvisi riferire in modos emplificato ed umano. Generalmente sono le etichette di versione. Un branch dopo esser creato evolve con successivi commit mentre un tag viene usato per identificare un punto cronologico per potervi accedere successivamente in modo facilitato. Utilizzo tipico dei tag è quello di contrassegnare un determinato rilascio o versione. Son di due tipi: lightweight (privi di info supplementari come data, nome utente), annotated (che associa info come data, nome utente, email utente.., es. git tag -a <TAG_NAME>). |
|
Tree |
Può essere usato in tre accezioni:
|
|
Upstream |
Si riferisce al branch principale da cui un dato branch è stato ramificato e a cui eventualmente si possono inviare i cambiamenti (push). Git usa di default "origin" come nome remoto del repository upstream. Quando si fa un cambiamento questo dovrà esser inviato "indietro" facendo upstream in modo che anche gli altri ne abbiamo un aggiornamento dalla sorgente aggiornata (origin). |
|
Working copy |
Detta anche working directory o working tree, è la cartella dove ci sono i file del nostro progetto e sui quali lavoriamo. I files della working copy possono essere in uno dei seguenti stati:
Traked sono i files presenti nell'ultimo commit e posson esser: unmodified, modified o staged. |
Tabella comandi
Da Help
git help -a usage: git [--version] [--help] [-c name=value] [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path] [-p|--paginate|--no-pager] [--no-replace-objects] [--bare] [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>] <command> [<args>] available git commands in '/usr/local/Cellar/git/1.8.4/libexec/git-core' add config gc merge-one-file relink show-ref add--interactive count-objects get-tar-commit-id merge-ours remote stage am credential grep merge-recursive remote-ext stash annotate credential-cache gui merge-resolve remote-fd status apply credential-cache--daemon gui--askpass merge-subtree remote-ftp stripspace archimport credential-store hash-object merge-tree remote-ftps submodule archive cvsexportcommit help mergetool remote-http svn bisect cvsimport http-backend mktag remote-https symbolic-ref bisect--helper cvsserver http-fetch mktree remote-testsvn tag blame daemon http-push mv repack tar-tree branch describe imap-send name-rev replace unpack-file bundle diff index-pack notes repo-config unpack-objects cat-file diff-files init p4 request-pull update-index check-attr diff-index init-db pack-objects rerere update-ref check-ignore diff-tree instaweb pack-redundant reset update-server-info check-mailmap difftool log pack-refs rev-list upload-archive check-ref-format difftool--helper lost-found patch-id rev-parse upload-pack checkout fast-export ls-files peek-remote revert var checkout-index fast-import ls-remote prune rm verify-pack cherry fetch ls-tree prune-packed send-email verify-tag cherry-pick fetch-pack mailinfo pull send-pack web--browse citool filter-branch mailsplit push sh-i18n--envsubst whatchanged clean fmt-merge-msg merge quiltimport shell write-tree clone for-each-ref merge-base read-tree shortlog column format-patch merge-file rebase show commit fsck merge-index receive-pack show-branch commit-tree fsck-objects merge-octopus reflog show-index
Mappa e Link
Source Control | Git | TFS, Azure DevOps Server
C# | Visual Studio | MS SQL | Dizionario | DOS - Command Prompt
Parole chiave: