Ik wil de broncode downloaden van de master-next branch git gebruiken zoals beschreven in de Xilinx wiki .

Ik heb dit geprobeerd:

#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 

Zelfs dit is mislukt:

# 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 

Het commando dat werkt is:

 git clone git://github.com/Xilinx/u-boot-xlnx.git 

Maar hoe weet ik dat dit inderdaad de master-next branch ophaalt en niet de master branch ? Hoe haal ik een specifieke branch correct op met git?

Ik gebruik RHEL 6, toegankelijk via PuTTY.

Answer

Zoals de foutmelding je vertelt, git clone verwacht een git-repository. Je kunt de naam van een branch in het pad op deze manier “t” toevoegen. Zie branches in git .

Je kunt een enkele branch (en zijn geschiedenis): git clone <url> --branch <branch> --single-branch

Zie git help clone.

Maar het kloon-commando dat je uitvoerde gaf je een kopie van de hele repository, je kunt de bestaande branches zien met git branch en meer details erover met git show-branch.

Schakel over naar de gewenste branch met git checkout branch-name.

De eerste hoofdstukken van de Pro Git -boek (online beschikbaar) geeft meer details over de basiscommandos.

Reacties

  • " kloon commando dat je uitvoerde gaf je een kopie van de hele repository ". hele repository betekent dat beide branches samengevoegd zijn?
  • Nee, dat zijn ze niet samengevoegd. Een branch in git is geen kopie van de hele directory, zoals hier uitgelegd .
  • Wat ik deed is dit: " git clone -b master-next github.com/Xilinx/u-boot-xlnx.git " is dit niet correct?
  • Je hebt ' geen kloon meer nodig. Het commando dat je in je vraag liet zien, gaf je de repository met alle branches. Maar dit is ook correct. Het ' is gelijk aan git checkout master-next doen na het klonen.

Antwoord

Dit commando zou moeten werken:

$ git fetch origin [branch] 

Het bovenstaande commando haalt alleen metadata op uit een externe repository, dat doet het niet merge sources.

Als je de sources wilt ophalen en samenvoegen, zou het commando zijn:

$ git pull origin [branch] 

Wees voorzichtig met de branch waar je voert een samenvoegopdracht uit. Het zal zijn waar de bronnen worden samengevoegd.

Opmerkingen

  • Je antwoord is technisch correct, maar ik denk dat het baat zou kunnen hebben bij enige grammaticale controle / her- schrijven.
  • dit werkt goed thx

Answer

git repositories bevatten alle branches ( maar gecomprimeerd en alleen verschillen, dus zelden een probleem met de grootte).

Daarom kunt u het hele project klonen zoals u met succes hebt gedaan. Dit is een standaardmanier om een repository te krijgen, zelfs als je maar in één branch geïnteresseerd bent.

De .git-structuur zal dan alle branches bevatten die op die repository zijn gedaan.

Om een specifieke branch te gebruiken, doe git checkout [branch_name] Als de branch bestaat, zullen de bestanden lokaal beschikbaar worden gemaakt (net zoals de huidige bestanden in de projectmappen).

git status zal dan laten zien welke branch de huidige branch is, bijvoorbeeld:

Volgens Leiaz kan men een specifieke branch klonen. In de praktijk “heb ik dit nog nooit gedaan of anderen het zien gebruiken. Bij verder onderzoek zie ik dat het relatief nieuw is, toegevoegd in git 1.7.10 (april 2012):” git clone geleerd –single-branch “optie om het klonen te beperken naar een enkele branch (verrassing!); tags die niet verwijzen naar de geschiedenis van de branch worden niet opgehaald. Bijvoorbeeld:

git clone -b master-next --single-branch git://github.com/Xilinx/ 

voer de beschrijving van de afbeelding hier in Hier, voor mijn “linker” -toepassing bekijk ik branch v3.0.10

Reacties

  • Ik ' heb het ook nooit gedaan, ik herinnerde me de optie te hebben gezien. Ik denk dat het ' s die zelden als extra branches worden gebruikt, zijn " goedkoop " groot.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *