Haluan ladata lähdekoodin master-next -haarasta gitin käyttäminen Xilinx-wikissä kuvatulla tavalla.
Yritin tätä:
#git clone git://github.com/Xilinx/u-boot-xlnx/tree/master-next.git Initialized empty Git repository in /home/Hannan/master-next/.git/ fatal: remote error: Xilinx/u-boot-xlnx/tree/master-next is not a valid repository name Email [email protected] for help
Tämäkin epäonnistui:
# git clone git://github.com/Xilinx/tree/master-next/u-boot-xlnx.git Initialized empty Git repository in /home/Hannan/u-boot-xlnx/.git/ fatal: remote error: Xilinx/tree/master-next/u-boot-xlnx is not a valid repository name Email [email protected] for help
Toimiva komento on:
git clone git://github.com/Xilinx/u-boot-xlnx.git
Mutta mistä tiedän, että tämä todella hakee master-next -haaran eikä päähaara ? Kuinka voin noutaa tietyn haaran oikein gitin avulla?
Käytän RHEL 6: ta, johon pääsee PuTTY: n kautta.
Vastaa
Kuten virheilmoitus kertoo, git clone
odottaa git-arkistoa. Voit ”t” lisätä haaran nimen tuollaiseen polkuun. Katso haarat gitissä .
Voit kloonata yksi haara (ja sen historia): git clone <url> --branch <branch> --single-branch
Katso git help clone
.
Mutta suorittamasi kloonikomento antoi sinulle kopion koko arkistosta, voit nähdä olemassa olevat haarat git branch
-toiminnolla ja lisätietoja niistä git show-branch
.
Vaihda haluamaasi haaraan kohdalla git checkout branch-name
.
Pro Git -kirja (saatavana verkossa) antaa lisätietoja peruskomennoista.
Kommentit
Vastaa
Tämän komennon tulisi toimia:
$ git fetch origin [branch]
Yllä oleva komento hakee metatietoja vain etätietovarastosta, ei yhdistä lähteet.
Jos haluat noutaa ja yhdistää lähteet, komento olisi:
$ git pull origin [branch]
Ole varovainen haaran kohdalla suoritat yhdistämiskomennon. Siellä lähteet yhdistetään.
Kommentit
- Vastauksesi on teknisesti oikea, mutta luulen, että se saattaa hyötyä kieliopillisesta tarkistuksesta kirjoittaminen.
- tämä toimii hyvin thx
vastaus
git-arkistot sisältävät kaikki haarat ( mutta pakattu ja vain erot ovat siten harvoin kokoongelmia).
Siksi voit kloonata koko projektin onnistuneesti. Tämä on tavallinen tapa hankkia tietovarasto, vaikka olisit kiinnostunut vain yhdestä haarasta.
.git-rakenne sisältää sitten kaikki kyseisellä arkistossa tehdyt haarat.
Jos haluat käyttää tiettyä haaraa, tee git checkout [branch_name]
Jos haara on olemassa, tiedostot asetetaan saataville paikallisesti (kuten vain nykyiset tiedostot projektihakemistoissa).
git status
näyttää sitten, mikä haara on nykyinen haara, esimerkiksi:
Leiazin mukaan voidaan kloonata tietty haara. Käytännössä en ole koskaan tehnyt tätä tai nähnyt muiden käyttävän sitä. Jatkotutkimuksessa näen, että se on suhteellisen uusi, lisätty git 1.7.10: ään (huhtikuu 2012): ”git clone learn –single-branch” -vaihtoehto kloonauksen rajoittamiseksi yksittäiseen haaraan (yllätys!); Tunnisteita, jotka eivät osoita haaran historiaa, ei haeta. Esimerkiksi:
git clone -b master-next --single-branch git://github.com/Xilinx/
Täällä ”linker” -sovellukselleni haen haara v3.0.10
Kommentit
- En ' en ole myöskään koskaan tehnyt sitä, muistan nähnyt vaihtoehdon. Luulen, että se ' Harvoin ylimääräisiksi haaroiksi käytetään " halpoja ".
git checkout master-next
: n tekemistä kloonauksen jälkeen.