2012-06-29 27 views
81

Quiero agregar un control remoto y una rama de ese control remoto.git add remote branch

Hice git remote add <newname> <url>, luego hice git fetch --all pero git branch -a no muestra ninguna rama del control remoto. Mi .git/config muestra el control remoto agregado.

¿Alguien puede ayudarme?

+1

¿Qué sucede cuando 'git fetch r rama emote: rama && git co rama'? –

Respuesta

187

No estoy seguro de si está tratando de crear una sucursal remota desde una sucursal local o viceversa, por lo que he descrito ambos escenarios, así como la información proporcionada sobre la fusión de las sucursales remotas y locales.

Creación de una llamada remota "github":

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

Lista de todas las ramas remotas:

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

crear una nueva rama local (prueba) de la rama remota de un github (PU):

git branch test github/pu 
git checkout test 

Merge chang es de la rama remota de GitHub (PU) con la rama local (prueba):

git fetch github 
git checkout test 
git merge github/pu 

rama remota de actualización de GitHub (PU) de una rama local (prueba):

git push github test:pu 

Creación de un nuevo branch en un control remoto usa la misma sintaxis que actualizar una rama remota. Por ejemplo, crear una nueva rama remota (beta) en github de rama local (prueba):

git push github test:beta 

Eliminar rama remota (PU) de GitHub:

git push github :pu 
+2

Upvotes Galore! –

+1

Gracias, gran respuesta! –

+0

¿Existe alguna manera de crear la rama local sin especificar el nombre, de modo que automágicamente tome el mismo nombre que la rama remota? – Dubslow

14

Puede comprobar si tienes el mando a distancia configurar correctamente y tener los permisos adecuados con

git ls-remote origin 

si llamó a su control remoto "origen". Si obtiene un error, probablemente no tenga su seguridad configurada correctamente, como por ejemplo cargar su clave pública a github. Si las cosas están configuradas correctamente, obtendrá una lista de las referencias remotas. Ahora

git fetch origin 

funcionará para evitar cualquier otro problema, como un cable de red desenchufada.

Una vez que haya hecho esto, se puede obtener cualquier rama que desea que el comando anterior en la lista con

git checkout some-branch 

Esto creará una rama local del mismo nombre que la rama remota y comprobar que funciona.

3

Aquí es el proceso completo para crear un repo local y empujar los cambios a la nueva rama remota

  1. Crear repositorio local: -

    Inicialmente usuario puede haber creado el local de Git repositorio.

    $ git init: - Esto hará que la carpeta local como repositorio Git,

  2. Enlace la rama remota: -

    Ahora reto es asociar el repositorio Git local con control remoto maestro rama .

    $ git remote add RepoName RepoURL

    uso: git remote add []

  3. Prueba del mando de

    $ git remote show ---> Muestra el nombre remoto

    $ git remote -v ---> Visualice las ramas remotas

  4. Ahora empuje a distancia

    $git add . ----> Añadir todos los archivos y carpetas como git en escena'

    $git commit -m "Your Commit Message" - - -> Commit el mensaje

    $git push - - - -> Empuje los cambios hacia arriba