Come indicato nei commenti: git remote add otherRepo …
configura solo il telecomando, non recupera nulla da esso. È necessario eseguire git fetch otherRepo
per recuperare i rami del repository remoto prima di poter creare filiali locali basate su di essi.
(rispondendo ad un ulteriore commento di OP)
Se si desidera solo per tenere traccia di un singolo ramo dal repository remoto, è possibile riconfigurare la vostra proprietà a distanza di fetch (remote.otherRepo.fetch
).
# done as a shell function to avoid repeating the repository and branch names
configure-single-branch-fetch() {
git config remote."$1".fetch +refs/heads/"$2":refs/remotes/"${1}/${2}"
}
configure-single-branch-fetch "$remoteName" "$branch"
# i.e. # configure-single-branch-fetch otherRepo master
Dopo questo, git fetch otherRepo
sarà solo prendere master
ramo del repository remoto nel ‘ramo di monitoraggio remoto’ otherRepo/master
nel repository locale.
Per la pulizia degli altri 'rami di monitoraggio a distanza', si potrebbe eliminare tutti loro e ri-prendere solo quello che si desidera, o si potrebbe eliminare selettivamente tutti loro, tranne proprio quello che si desidera:
git for-each-ref --shell --format='git branch -dr %(refname:short)' refs/remotes/otherRepo | sh -nv
# remove the -nv if the commands look OK, then
git fetch otherRepo
# OR
git for-each-ref --shell --format='test %(refname:short) != otherRepo/master && git branch -dr %(refname:short)' refs/remotes/otherRepo | sh -nv
# remove the -nv if the commands look OK
Se si decide di monitorare più di un ramo remoto, ma non tutti, è possibile avere più configurazioni di recupero (con git config --add remote."$remoteName".fetch …
o utilizzando git config --edit
per duplicare e modificare direttamente la riga nel file di configurazione del repository).
Se si desidera anche evitare di recuperare i tag dal telecomando, configurare la proprietà tagopt del telecomando (remote.otherRepo.tagopt
).
git config remote."$remoteName".tagopt --no-tags
# i.e. # git config remote.otherRepo.tagopt --no-tags
Hai fatto 'git fetch fetch otherRepo' prima di provare a diramarti? 'git remote add' semplicemente configura il telecomando, non esegue automaticamente il recupero. Se lo hai già scaricato, sei sicuro che abbia un ramo chiamato master? 'git branch -r' o' git remote show -n otherRepo' (* dopo averlo scaricato *) per verificare quali rami ha. –
@crhis: grazie, ora funziona. Sembra logico che devo recuperare, comunque questo aggiunge, anche tutti gli altri rami di otherRepo. Posso semplicemente recuperare altroRepo/Master? Non voglio ingombrare il ramo -r. –