Kaip klonuoti git saugyklą į konkretų aplanką?

git clone git@github.com:whatever sukuria katalogą mano dabartiniame aplanke ir vadina „Git“ saugyklos turinį į šį aplanką:

 /httpdocs/whatever/public 

Mano problema yra ta, kad man reikia, kad „Git“ saugyklos turinys būtų klonuotas į mano dabartinį katalogą, kad jie būtų rodomi tinkama interneto serverio vieta:

 /httpdocs/public 

Aš žinau, kaip perkelti failus po to, kai klonavau saugyklą, bet tai, atrodo, sulaužė „Git“, ir norėčiau, kad galėčiau atnaujinti tik paskambinus „ git pull . Kaip tai padaryti?

1840 m
16 марта '09 в 18:56 2009-03-16 18:56 Dovydo Smito nustatytą kovo 16 d., 18:56, 2009-03-16 18:56
@ 17 atsakymų

A variantas:

 git clone git@github.com:whatever folder-name 

B variantas:

taip pat perkelkite .git aplanką.

Dar geriau:

Išsaugokite savo darbo kopiją kitur ir sukurkite simbolinę nuorodą.

2614
16 марта '09 в 19:08 2009-03-16 19:08 atsakymas pateikiamas Can Berk Güder kovo 09 d. 19:08 2009-03-16 19:08

Šiame pavyzdyje manau, kad daugelis žmonių šį klausimą užduoda po to. Jei esate kataloge, kuriame norite atsisiųsti „git“ saugyklos turinį, paleiskite:

 git clone git@github.com:whatever . 
border=0

"." pabaigoje rodo dabartinį aplanką kaip čekio aplanką.

540
25 февр. atsakymą pateikė J Wynia 25 vasaris. 2010-02-25 20:15 '10, 20:15, 2010-02-25 20:15

Eikite į aplanką. Jei aplankas yra tuščias, tada:

 git clone git@github.com:whatever . 

dar

 git init git remote add origin PATH/TO/REPO git fetch git checkout -t origin/master 
190
12 дек. atsakymas pateiktas 12 d. 2013-12-12 11:43 '13, 11:43, 2013-12-12 11:43

Pagrindinis „Git“ saugyklos klonavimas

Jūs klonuojate saugyklą

 git clone [url] 

Pvz., Jei norite klonuoti Stanfordo universiteto „Git Drupal Open Framework“ biblioteką, galite tai padaryti taip:

 $ git clone git://github.com/SU-SWS/open_framework.git 

Tai sukuria katalogą open_framework (jūsų dabartinėje vietinėje failų sistemoje), inicijuoja jį .git katalogą, ištraukia visus šio saugojimo duomenis ir ištraukia naujausios versijos darbo kopiją. Jei įvedate naujai sukurtą Open_framework katalogą, pamatysite, kad projekto failai bus paruošti darbui ar naudojimui.

Klonuokite saugyklą į tam tikrą vietinį aplanką

Jei norite klonuoti saugyklą į katalogą, kurio pavadinimas yra kitas nei open_framework, tai galite nurodyti kaip šį komandinės eilutės parametrą:

 $ git clone git:github.com/SU-SWS/open_framework.git mynewtheme 

Ši komanda yra tokia pati, kaip ir ankstesnė, tačiau tikslinis katalogas vadinamas mynewtheme.

„Git“ turi kelis skirtingus perdavimo protokolus, kuriuos galite naudoti. Ankstesniame pavyzdyje naudojamas „git: //“ protokolas, bet taip pat galite matyti http (s): // arba vartotojo @ serverį: /path.git, kuris naudoja SSH perdavimo protokolą.

76
24 апр. Craig Gjerdingen atsakymas 2013-04-24 00:27 '13, 0:27, 2013-04-24 00:27

Perkeliant failus į norimą vietą, perkeliate .git katalogą? Priklausomai nuo jūsų OS ir konfigūracijos, šis katalogas gali būti paslėptas.

Jame yra repo ir pagalbiniai failai, o jūsų /public katalogo projektiniai failai yra tik dabartinės ataskaitos fiksavimo versijos (numatytoji pagrindinė linija).

13
16 марта '09 в 19:14 2009-03-16 19:14 Paulius atsakymą pateikė kovo 09 d. 19:14 val. 2009-03-16 19:14

Klonas:

 git clone git@jittre.unfuddle.com:jittre/name.git 

Jei norite klonuoti „konkretų filialą“:

 git clone -b [branch-name] git@jittre.unfuddle.com:jittre/name.git 
13
04 апр. atsakymas duotas Selvamani 04 balandžio. 2013-04-04 09:46 '13, 9:46, 2013-04-04 09:46

Jei norite klonuoti į dabartinį aplanką, turėtumėte pabandyti atlikti šiuos veiksmus:

 git clone https://github.com/example/example.git ./ 
11
11 сент. atsakymą pateikė Luisas rugsėjo 11 d 2016-09-11 03:59 '16 at 3:59 2016-09-11 03:59

Jei norite klonuoti į dabartinį darbo katalogą:

git klonas https://github.com/link.git

Klonuoti į kitą katalogą:

git klonas https://github.com/link.git ./Folder1/Folder2

Tikiuosi, kad tai padės :)

10
21 марта '17 в 19:03 2017-03-21 19:03 atsakymą pateikė Sarat Chandra, kovo 21 d., 17 val., 19:03 2017-03-21 19:03

Įsitikinkite, kad ištrinate .git saugyklą, jei bandote patikrinti esamą katalogą.

rm -rf .git , tada git clone https://github.com/symfony/symfony-sandbox.git

9
26 февр. atsakymas pateikiamas alex 26 vasario mėn. 2011-02-26 01:17 '11 prie 1:17 2011-02-26 01:17

Jei norite klonuoti git saugyklą į tam tikrą aplanką, galite naudoti, pvz., Parinktį -C <path> .

 git -C /httpdocs clone git@github.com:whatever 

Nors jis vis tiek sukurs whatever aplanką, taigi, jei norite klonuoti saugyklos turinį į dabartinį katalogą, naudokite šią sintaksę:

 git git@github.com:whatever . 

Atminkite, kad klonavimas į esamą katalogą leidžiamas tik tada, kai katalogas yra tuščias .

Kadangi klonuojate į viešąjį aplanką, apsvarstykite galimybę atskirti git saugyklą nuo darbo medžio naudodami aplanką --separate-git-dir=<git dir> arba pašalinkite .git į savo žiniatinklio serverio konfigūraciją (pvz., faile .htaccess ).

9
08 янв. atsakymas pateikiamas kenorb 08 saus 2017-01-08 23:04 '17, 11:04 pm 2017-01-08 23:04

naudoti

 git clone <repository> 

Klonuokite saugyklą, esančią <storage> vietiniame kompiuteryje. Šaltinio saugykla gali būti vietinėje failų sistemoje arba nuotoliniame kompiuteryje, prieinamame per HTTP arba SSH.

 git clone <repo> <directory> 

Klonuokite saugyklą, esančią <repository>, į aplanką <directory> vietiniame kompiuteryje.

Šaltinis: saugojimo konfigūravimas

7
26 июня '15 в 14:42 2015-06-26 14:42 atsakymą pateikė Nagarjun birželio 26 d. 15, 14:42 2015-06-26 14:42

Taip aš norėčiau tai padaryti, bet aš padariau slapyvardį, kad tai padaryčiau už mane.

 $ cd ~Downloads/git; git clone https:git.foo/poo.git 

Galbūt tai yra elegantiškesnis būdas tai padaryti, bet man tai buvo lengviau.

Čia yra slapyvardis, kurį sukūriau, norėdamas pagreitinti. Aš tai padariau už „zsh“, bet ji turėtų gerai dirbti su „bash“ arba bet kokiu kitu apvalkalu, pvz.

Keisti ~/.zshrc , /.bashrc ir tt su savo mėgstamu redaktoriu (mano lapai yra „Leafpad“, taigi aš parašysiu $ leafpad ~/.zshrc ).

Tačiau mano asmeninis pageidavimas yra padaryti „zsh“ įskiepį, kad būtų galima stebėti visus mano pseudonimus. Galite sukurti asmeninį „oh-my-zsh“ papildinį naudodami šias komandas:

 $ cd ~/.oh-my-zsh/ $ cd plugins/ $ mkdir your-aliases-folder-name; cd your-aliases-folder-name # In my case '~/.oh-my-zsh/plugins/ev-aliases/ev-aliases' $ leafpad your-zsh-aliases.plugin.zsh # Again, in my case 'ev-aliases.plugin.zsh' 

Tada pridėkite šias eilutes į naujai sukurtą tuščią alises.plugin failą:

 # Git aliases alias gc="cd ~/Downloads/git; git clone " 

(Iš čia pakeiskite savo vardą su mano.)

Tada, norint dirbti slapyvardžius, jie (kartu su zsh) turi būti siunčiami (arba, ką ji vadinama). Jei norite tai padaryti, pridėkite priskirtą papildinį:

 ## Ev Aliases #### Remember to re-source zsh after making any changes with these commands: #### These commands should also work, assuming ev-aliases have already been sourced before: allsource="source $ZSH/oh-my-zsh.sh ; source /home/ev/.oh-my-zsh/plugins/ev-aliases/ev-aliases.plugin.zsh; clear" sourceall="source $ZSH/oh-my-zsh.sh ; source /home/ev/.oh-my-zsh/plugins/ev-aliases/ev-aliases.plugin.zsh" #### #################################### # git aliases alias gc="cd ~/Downloads/git; git clone " # alias gc="git clone " # alias gc="cd /your/git/folder/or/whatever; git clone " #################################### 

Išsaugokite „oh-my-zsh“ papildinį ir paleiskite allsource . Jei tai neveikia, tiesiog paleiskite source $ZSH/oh-my-zsh.sh; source /home/ev/.oh-my-zsh/plugins/ev-aliases/ev-aliases.plugin.zsh source $ZSH/oh-my-zsh.sh; source /home/ev/.oh-my-zsh/plugins/ev-aliases/ev-aliases.plugin.zsh . Tai įkelia įskiepio šaltinį, kuris leis jums nuo šiol naudoti allsource .


Sukuriu „Git“ saugyklą su visais mano slapyvardžiais. Nedvejodami patikrinkite juos čia: „ Ev dot-files“ . Nesivaržykite juos tobulinti ir tobulinti pagal savo poreikius.

3
28 февр. Atsakymas pateiktas Ev . 2016-02-28 07:46 '16 at 7:46 2016-02-28 07:46

Jei git cloning naudojate ssh , galite naudoti šią komandą.

git -C path clone git@github.com:path_to_repo.git

Pavyzdžiui: git -C /home/ubuntu/ clone git@github.com:kennethreitz/requests.git pristato git repozitoriją requests į jūsų kelią /home/ubuntu/ .

1
27 марта '17 в 10:36 2017-03-27 10:36 atsakymą pateikė Ankit Singh, kovo 27 d. 17, 10:36 2017-03-27 10:36
 For Windows user 1> Open command prompt. 2> Change the directory to destination folder (Where you want to store your project in local machine.) 3> Now go to project setting online(From where you want to clone) 4> Click on clone, and copy the clone command. 5> Now enter the same on cmd . It will start cloning saving on the selected folder you given . 
0
24 окт. atsakymą pateikė Tarit Ray spalio 24 d. 2018-10-24 16:25 '18, 16:25 pm 2018-10-24 16:25

Dėl kokios nors priežasties ši sintaksė nėra pažymėta:

git clone repo-url [folder]

Čia aplankas yra pasirinktinis kelias į vietinį aplanką (kuris bus vietinė saugykla).

Git clone taip pat pull kodą iš nuotolinio saugyklos į vietos saugyklą. Tiesą sakant, tai tiesa:

 git clone repo-url = git init + git remote add origin repo-url + git pull 
0
30 янв. atsakymas pateikiamas prosti 30 d 2019-01-30 19:04 '19, 07:04 pm 2019-01-30 19:04

Tarkime, kad norite aplanko tipo /stuff , bet jūsų traukinys sukuria katalogą pagal /repo/tokens/ .

Galite padaryti:

 mkdir /stuff ln -s /repo/tokens /stuff 

Kas tai yra. Jūs baigsite.

-1
01 апр. atsakymas duotas pacifi30 Bal 01 2012-04-01 04:09 '12 at 4:09 2012-04-01 04:09

Atsižvelgiant į šią eilutę iš pradinio pranešimo:

"Aš žinau, kaip perkelti failus po to, kai aš klonavau repo, bet tai atrodo pertrauka"

Aš galiu tai padaryti ir vis dar nematau jokių problemų, susijusių su mano pridėjimu, įsipareigojimu, stumimu, traukimu.

Šis požiūris aprašytas pirmiau, bet paprasčiausiai nėra suskirstytas į etapus. Toliau pateikiami žingsniai, kurie man veikia:

  • klonuoti repo į bet kurį naują laikinąjį aplanką
  • cd į šį pagrindinį aplanką, kurį klonavote vietoje
  • nukopijuokite visą aplanko turinį, įskaitant /.git katalogą, į bet kurį esamą aplanką; (tarkim, užtemimo projektas, kurį norite sujungti su repo).

Esamas aplankas, kuriame jūs tiesiog nukopijote failus, dabar yra pasirengęs bendrauti su git.

-3
06 мая '13 в 5:16 2013-05-06 05:16 atsakymą pateikė Gene Bo gegužės 06 d. 13 d. 5:16. 2013-05-06 05:16

Kiti klausimai apie žymes arba Užduoti klausimą