git aggiungi ramo remoto


139

Voglio aggiungere un telecomando e un ramo di quel telecomando.

L'ho fatto git remote add <newname> <url>, poi l'ho fatto git fetch --allma git branch -anon mostra alcun ramo del telecomando. Il mio .git / config mostra il telecomando aggiunto.

Per favore qualcuno può aiutarmi?


2
Cosa succede quando tu git fetch remote branch:branch && git co branch?
Samy Dindane,

Risposte:


280

Non sono sicuro se si sta tentando di creare un ramo remoto da un ramo locale o viceversa, quindi ho delineato entrambi gli scenari e fornito informazioni sull'unione dei rami remoti e locali.

Creazione di un telecomando chiamato "github":

git remote add github git://github.com/jdoe/coolapp.git
git fetch github

Elenca tutte le filiali remote:

git branch -r
  github/gh-pages
  github/master
  github/next
  github/pu

Crea un nuovo ramo locale (test) dal ramo remoto di un github (pu):

git branch test github/pu
git checkout test

Unisci le modifiche dal ramo remoto (pu) di github con il ramo locale (test):

git fetch github
git checkout test
git merge github/pu

Aggiorna il ramo remoto (pu) di github da un ramo locale (test):

git push github test:pu

La creazione di un nuovo ramo su un telecomando utilizza la stessa sintassi dell'aggiornamento di un ramo remoto. Ad esempio, creare un nuovo ramo remoto (beta) su github dal ramo locale (test):

git push github test:beta

Elimina il ramo remoto (pu) da github:

git push github :pu

Esiste un modo per creare il ramo locale senza specificare il nome, in modo che prenda automagicamente lo stesso nome del ramo remoto?
Dubslow,

@Dubslow git checkout --track github/pu, guarda qui
Hinrich,

25

È possibile verificare se la configurazione remota è corretta e disporre delle autorizzazioni appropriate

git ls-remote origin

se hai chiamato il tuo "origine" remoto. Se ricevi un errore, probabilmente non hai configurato correttamente la tua sicurezza, ad esempio caricando la tua chiave pubblica su github. Se le cose sono impostate correttamente, otterrai un elenco dei riferimenti remoti. Adesso

git fetch origin

funzionerà salvo eventuali altri problemi come un cavo di rete scollegato.

Una volta fatto ciò, puoi ottenere qualsiasi ramo con cui desideri elencare il comando sopra

git checkout some-branch

questo creerà un ramo locale con lo stesso nome del ramo remoto e lo verificherà.


6

Ho testato ciò che @Samy Dindane ha suggerito nel commento sull'OP.

Credo che funzioni, prova

git fetch <remote_name> <remote_branch>:<local_branch>
git checkout <local_branch>

Ecco un esempio per un repository remoto fittizio denominato foocon un ramo denominato in barcui creo un ramo locale che tiene bartraccia del telecomando:

git fetch foo bar:bar
git checkout bar

5

Ecco il processo completo per creare un repository locale e inviare le modifiche al nuovo ramo remoto

  1. Creazione del repository locale: -

    Inizialmente l'utente potrebbe aver creato il repository git locale.

    $ git init : - Questo renderà la cartella locale come repository Git,

  2. Collega il ramo remoto : -

    Ora la sfida è associare il repository git locale al ramo master remoto .

    $ git remote add RepoName RepoURL

    utilizzo: git remote add []

  3. Prova il telecomando

    $ git remote show ---> Visualizza il nome del telecomando

    $ git remote -v ---> Visualizza i rami remoti

  4. Ora premi sul telecomando

    $git add . ----> Aggiungi tutti i file e le cartelle come git messo in scena '

    $git commit -m "Your Commit Message" - - -> Salva il messaggio

    $git push - - - -> Spingere le modifiche a monte


Queste sono solo le istruzioni per il caso generale di utilizzo di git. Non vedo nulla in questa risposta specifico della domanda che viene posta.
Hack-R

2

Se il ramo remoto esiste già, allora puoi (probabilmente) cavartela con ...

git checkout branch_name

e git si imposterà automaticamente per tracciare il ramo remoto con lo stesso nome su origin.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.