Domanda Come clonare un ramo Git specifico? [duplicare]


Questa domanda ha già una risposta qui:

Il clone Git si comporterà copiando il ramo di lavoro corrente remoto in locale.

C'è un modo per clonare un ramo specifico da solo senza cambiare ramo nel repository remoto?


2085
2017-12-15 23:06


origine


risposte:


Si prega di vedere anche il altra risposta che molte persone preferiscono.

Potresti anche assicurarti di capire la differenza, a differenza della maggior parte dei commentatori e dei downvoters arrabbiati. E la differenza è: invocando git clone -b branch url stai andando a prendere tutti i rami e verificarne uno. Ciò potrebbe, ad esempio, significare che il tuo repository ha una documentazione di 5kB o un ramo wiki e un ramo di dati da 5 GB. E ogni volta che vuoi modificare la tua prima pagina, potresti finire per clonare 5 GB di dati.

Di nuovo, questo non vuol dire git clone -b non è il modo per realizzarlo, è solo che non lo è sempre cosa vuoi realizzare, quando stai chiedendo di clonare un ramo specifico.

La risposta che scriverei oggi, con in mente il motto di oggi, sarebbe

git clone --single-branch -b branch host:/dir.git

al momento di scrivere la risposta originale qui sotto, git ha avuto no --single-branch opzione, ma conserviamola per la piena soddisfazione delle api arrabbiate.

La risposta così sgradita ai copypasters è stata questa:

git init
git remote add -t refspec remotename host:/dir.git
git fetch

229
2017-12-15 23:09



git clone -b <branch> <remote_repo>

Esempio:

git clone -b my-branch git@github.com:user/myproject.git

Con Git 1.7.10 e versioni successive, aggiungi --single-branch per evitare di andare a prendere tutti i rami. Esempio, con il ramo OpenCV 2.4:

git clone -b opencv-2.4 --single-branch https://github.com/Itseez/opencv.git

6656
2017-12-31 05:36



Per clonare un ramo senza andare a prendere altri rami:

mkdir $BRANCH
cd $BRANCH
git init
git remote add -t $BRANCH -f origin $REMOTE_REPO
git checkout $BRANCH

222
2017-09-08 14:34



Ecco un modo molto semplice per farlo :)

Clona il repository

git clone <repository_url>

Elenca tutti i rami

git branch -a 

Controlla il ramo che vuoi

git checkout <name_of_branch>

204
2017-07-14 09:42



git checkout -b <branch-name> <origin/branch_name>

per esempio nel mio caso:

 git branch -a
* master
  origin/HEAD
  origin/enum-account-number
  origin/master
  origin/rel_table_play
  origin/sugarfield_customer_number_show_c

Quindi, per creare un nuovo ramo basato sul mio ramo di numero di account enum, faccio:

git checkout -b enum-account-number origin/enum-account-number

Dopo aver premuto il tasto invio, accade quanto segue:

Branch enum-account-number set up to track remote branch refs/remotes/origin/enum-account-number.
Switched to a new branch "enum-account-number

"


67
2017-11-15 19:34



Creare un ramo sul sistema locale con quel nome. per esempio. dì che vuoi ottenere il nome del ramo "Branch-05142011"

git branch branch-05142011 origin/branch-05142011 

Ti darà un messaggio come: "Branch branch-05142011 impostato per tracciare il branch branch branch-05142011 dall'origine."

Adesso controlla il ramo come sotto e hai il codice -
git checkout branch-05142011


20
2018-05-15 19:20



git --branch <branchname> <url>

Ma il completamento di bash non ha questa chiave: --branch

Godere.


11
2017-09-07 10:16