Ora è solo il nome predefinito per il repository upstream clonato.
Ma ha usato per essere un ramo così in origine (fino a git 1.5.0 nei primi mesi del 2007):
La prima commettere l'introduzione di 'origin
' risale 1cadb5a (July 2005, git 0.99.2).
è seguita da commit a692b96, che ha spiegato:
un ciclo di lavoro consigliato per un "singolo sviluppatore" che non ha un repository "pubblico" è un po 'diverso. Funziona così:
(1) Prepara il tuo repository di lavoro, per "git clone
" il repository pubblico del "lead del progetto" (o un "manutentore del sottosistema", se lavori su un sottosistema).
L'URL utilizzato per la clonazione iniziale viene archiviato in .git/branches/origin
.
(2) Fate il vostro lavoro lì. Fare commit.
(3) Eseguire "git fetch origin
" dal repository pubblico del vostro upstream una volta ogni tanto. Questo fa solo la prima metà di "git pull" ma non si fonde.
Il capo dell'archivio pubblico è memorizzato in .git/refs/heads/origin
.
Questo flusso di lavoro è stato ovviamente molto su misura per lo sviluppo distribuito del Linux kernel, in cui si aveva solo una pronti contro termine a monte.
Il .git/branches/origin
non diventerà .git/remotes/origin
prima commit 6687f8f (Aug. 2005, git v0.99.5), quando si può recuperare più di un pronti contro termine a monte.
Ora il recupero multi-test è completo, migriamo la configurazione di default per i nuovi repository creati con il comando "git clone
".
L'originale $GIT_DIR/branches
non è ancora deprecato, ma crea anche la directory dei telecomandi per impostazione predefinita dai modelli.
Poi commit e125c1a (Nov. 2005, v0.99.9c) aggiunto:
Il repository di recente clonato di default aveva .git/remotes/origin
istituito per monitorare il telecomando master
-origin
, ma ha dimenticato di creare il ramo origin
noi stessi.
Inoltre, ha presupposto che il telecomando HEAD
punti a "master
", che potrebbe non essere sempre vero.
ha cominciato a evolversi per 'origine' come un pronti contro termine a monte nella commit dfeff66 (March 2006, git 1.3.0), dove:
responsabili di filiali a monte vengono copiati in .git/refs/remotes/
invece di .git/refs/heads/
e .git/remotes/origin
file viene impostato fino a rifletti anche questo.
Richiede di avere l'aggiornamento fetch/pull per capire .git/refs/remotes
di Eric Wong per aggiornare ulteriormente il repository clonato in questo modo.
Questo è dettagliato in commit c72112e.
Inadempiente a 'origine', quando il recupero è stato introdotto nel commit 5e27e27 (July 2006, git 1.4.2).
Il telecomando origin
viene memorizzato in ./git/config
in commit 255cae8 (Nov. 2006, git 1.5.0)
Per esempio quello che prima era .git/remotes/origin
:
URL: proto://host/path
Pull: refs/heads/master:refs/heads/origin
è ora aggiunto a .git/config
come:
012.351.
[remote "origin"]
url = proto://host/path
fetch = refs/heads/master:refs/heads/origin
git pull
default origin
con commit 955289b (Dec. 2006, git 1.5.0):
senza alcuna indicazione nel file .git/config
, git-pull
eseguirà "git-pull origin
"; che a sua volta si imposta automaticamente dalla prima definizione "pull" per il telecomando, "origin
".
Il glossary is then updated:
origin
:
Il predefinito repository upstream. La maggior parte dei progetti ha almeno un progetto upstream che tracciano. Per impostazione predefinita, 'origin
' viene utilizzato a tale scopo.
I nuovi aggiornamenti a monte verranno scaricati nei rami di monitoraggio remoto denominati origin/name-of-upstream-branch
, che è possibile visualizzare utilizzando "git branch -r
".