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

  • " suorittamasi kloonikomento antoi kopion koko arkistosta " .kokoinen arkisto tarkoittaa, että molemmat haarat yhdistettiin?
  • Ei, ne ovat ei yhdistetty. Haara gitissä ei ole kopio koko hakemistosta, kuten selitti täällä .
  • Tein näin: " git-klooni -b master-next github.com/Xilinx/u-boot-xlnx.git " eikö tämä ole oikein?
  • Et enää tarvinnut ' kloonia. Kysymyksessä osoittamasi komento antoi sinulle arkiston kaikilla haaroilla. Mutta tämä on myös oikein. Se ' vastaa git checkout master-next: n tekemistä kloonauksen jälkeen.

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/ 

kirjoita kuvakuvaus tähän 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 ".

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *