Szeretnék letölteni forráskódot a master-next ágról git használatával, a Xilinx wiki leírása szerint.

Próbáltam:

#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 

Még ez sem sikerült:

# 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 

A működő parancs a következő:

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

De honnan tudom, hogy ez valóban megkapja a master-next ágat és nem a főág ? Hogyan tudom helyesen lekérni egy adott ágat a git használatával?

Az RHEL 6-ot használom, amelyet a PuTTY-n keresztül lehet elérni.

Válasz

Amint azt a hibaüzenet megmondja, git clone git-tárra számít. Az ilyen útvonalon “hozzáadhatja” egy ág nevét. Lásd: ágak a git-ben .

Klónozhat egy egyetlen ág (és annak előzményei): git clone <url> --branch <branch> --single-branch

Lásd: git help clone.

De az általad futtatott klónparancs megadta a teljes adattár másolatát. Megtekintheti a meglévő ágakat git branch címmel, és további részletekről a git show-branch.

Váltson át a kívánt ágra a git checkout branch-name segítségével.

A Pro Git könyv (online elérhető) további részleteket tartalmaz az alapvető parancsokról.

Megjegyzések

  • " klónparancs, amelyet futtatott, megadta az egész tárház másolatát " .A teljes tár azt jelenti, hogy mindkét ág egyesült?
  • Nem, ezek nem egyesült. A gitben található elágazás nem az egész könyvtár másolata, amint az itt kifejtette .
  • Amit én csináltam, ezt: " git klón -b master-next github.com/Xilinx/u-boot-xlnx.git " ez nem helyes?
  • Már nem kellett ' szüksége a klónozásra. A kérdésében megmutatott parancs megadta a tárat az összes ággal. De ez is helyes. ' egyenértékű azzal, hogy klónozás után git checkout master-next t csinál.

Válasz

Ennek a parancsnak működnie kell:

$ git fetch origin [branch] 

A fenti parancs csak a metaadatokat tölti le a távoli adattárból, de nem források egyesítése.

Ha be akarja tölteni és egyesíteni a forrásokat, akkor a következő parancs lesz:

$ git pull origin [branch] 

Vigyázzon azzal az ággal, ahol egyesítés parancsot hajt végre. Ott fognak összeolvadni a források.

Megjegyzések

  • Válasza technikailag helyes, de úgy gondolom, hogy hasznot húzhat a nyelvtani ellenőrzésből / újból. írás.
  • ez szépen működik thx

Válasz

A git tárak minden ágat tartalmaznak ( de tömörítve, és csak a különbségek ritkán jelentenek méretbeli problémát).

Ezért a teljes projektet klónozhatja, ahogyan sikeresen tette. Ez egy szokásos módszer a lerakat megszerzésére, még akkor is, ha csak egy fiókra kíváncsi.

A .git struktúra ezután tartalmazza az adott táron végzett összes ágat.

Egy adott ág használatához ne git checkout [branch_name] Ha az elágazás létezik, a fájlok helyileg elérhetők lesznek (csakúgy, mint a projekt könyvtárak aktuális fájljai).

git status ekkor megmutatja, hogy melyik ág az aktuális ág, például:

A Leiaz szerint klónozni lehet egy adott ágat. A gyakorlatban még soha nem tettem ilyet, vagy láttam, hogy mások használják. További kutatások során úgy látom, hogy ez viszonylag új, a git 1.7.10-es verziójához (2012. április) hozzáadva: “A git-klón megtanulta – egyetlen ág” opció a klónozás korlátozására egyetlen ághoz (meglepetés!); Az ág történetébe nem mutató címkéket nem töltjük le. Például:

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

írja ide a kép leírását Itt a “linker” alkalmazásomhoz a v3.0.10

megjegyzéseket

  • Én ' sem tettem soha, eszembe jutott, hogy láttam az opciót. Azt hiszem, ' Az extra ágakként ritkán használt " olcsó " méretű.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük