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
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/
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ű.
git checkout master-next
t csinál.