Am creat un depozit git la oglinda un live-ul (care este un non-goale git repository):
git clone --mirror ssh://[email protected]/path/to/repo
Acum, pentru a păstra această oglindă clona actualizat cu toate modificările de la distanță origine, care comandă sau comenzi trebuie să folosesc?
Am'd place să păstreze totul actualizat: se angajează, ref, cârlige, ramuri, etc.
Multumesc!!!
Cu privire comite, ref, ramuri și "etc", Magnus răspunde doar de lucrări (git de actualizare de la distanță
).
Dar, din păcate, nu există nici o modalitate de a "clonă" / oglindă / "actualizare" carlige, cum am vrut...
Am găsit acest lucru foarte interesant thread despre clonare/oglindire cârlige:
http://kerneltrap.org/mailarchive/git/2007/8/28/256180/thread
Am învățat:
Cârlige nu sunt considerate parte a repozitoriului.
Există mai multe date, cum ar fi `.git/descriere dosarul, care nu se clonate, doar ca cârlige.
Implicit cârlige care apar în "cârlige" dir vine de la TEMPLATE_DIR
Nu e interesant acest "șablon" caracteristică pe git.
Deci, nu poate ignora acest "clone cârligele de lucru", sau du-te pentru un rsync` strategie, având în vedere sensul de oglinda mea (backup + sursa pentru alte clone, doar).
Ei bine... eu va uita doar despre cârlige de clonare, și stick la git remote update
cale.
rsync sau echivalent ar fi calea de a merge. Deoarece acest lucru nu este cu adevărat necesar în cazul meu (eu nu își poate permite având cârlige, ascunde, și așa mai departe), cum am spus, nu se va lipi de
actualizare de la distanță`.Multumesc!!! Îmbunătățit un pic de propria mea "git-fu"... :-)
Dacă doriți cu adevărat acest lucru trăgând ramuri în loc de `push --oglindă, puteți avea o privire aici:
Acest răspuns oferă pași detaliate privind modul de a realiza relativ ușor: