2011-03-11 13 views
67

quando ho eseguito:Qual è il significato di 'origine' in 'git push origin master'

git push origin master 

... qual è il significato di origin in questo contesto?

+7

Cerca in [The Git tutorial] (http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html) - " Quando lavori in un piccolo gruppo affiatato, non è insolito interagire con lo stesso repository più e più volte: definendo la stenografia dell'archivio remoto, puoi renderlo più semplice ". Se non lo fai, l'origine viene utilizzata per impostazione predefinita. – ierax

risposta

54

origin è il nome predefinito del repository git remoto da cui è stato clonato. Dai uno sguardo a .git/refs/remotes/origin/* e .git/config all'interno delle tue fonti per vedere come lo sa.

+5

Direi "clonato il tuo repository da" non "controllato le tue fonti da" - quest'ultimo è una frase di holdover da VCS centralizzata e può essere un po 'fuorviante per i principianti di DVCS. – Cascabel

+0

@Jefromi è vero, ho modificato la risposta per usare il termine corretto. – skuro

+1

E il comando git remote add all'origine? Perché dovresti aggiungere un'origine? http://stackoverflow.com/a/8248542/719689 – AlxVallejo

26

L'origine è il codice di origine .

+2

Per me, non è uno scherzo ma una regola mnemotica per ricordare che cosa significa l'origine. E uno che mi piace, tra l'altro +1 – MiGU

+0

Mentre mi diverto a scherzare con tuo padre, non è necessariamente vero. Posso creare un nuovo repository localmente e impegnarmi senza alcuna conoscenza di un telecomando.In seguito, posso creare un'origine con nome remoto e inviarmi tutti i commit che ho effettuato localmente. L'origine non deve essere la fonte originale del repository. –

66

git ha un concetto di "remoti" - questi sono come nickname facili per un repository, quindi non è necessario utilizzare l'URL completo ogni volta che si desidera fare riferimento a un altro repository.

origin è solo un telecomando come un altro, ma si vede molto spesso da quando si clona un repository per la prima volta, git clone volontà di default impostare una chiamata remota origin per indicare l'URL che si clonato da.

Se si esegue git remote -v, questo mostrerà tutti i telecomandi che sono stati impostati nel proprio repository locale e gli URL a cui si riferiscono. (Vedrai che è un po 'più complesso di quanto ho detto sopra, in quanto un telecomando può fare riferimento a un URL diverso per spingere e recuperare, ma probabilmente non devi preoccuparti di questo :) :)

+0

E il comando git remote add all'origine? Perché dovresti aggiungere un'origine? stackoverflow.com/a/8248542/719689 – AlxVallejo

+2

@AlxVallejo: potresti aggiungere tu stesso il comando 'origine' se avessi inizializzato un repository tu stesso, piuttosto che farlo tramite 'git clone'. –

+0

"nickname" che è una buona spiegazione. grazie Marco. –

0

"Origine" è il nome del repository remoto in cui si desidera pubblicare i propri commit. Per convenzione, il repository remoto predefinito è denominato "origine", ma è possibile lavorare con diversi telecomandi (con nomi diversi) contemporaneamente.

1

origine è remoto creato dal git stesso quando per il primo clone il repository per puntare l'URL da cui è stato creato il clone. es .: origine [email protected]:/PROJECT_U

Problemi correlati