El cliente de escritorio git no muestra todas las sucursales remotas

Mi entendimiento era que estos dos commands deberían mostrarme todas las twigs remotas

git branch -a git branch -r 

pero cuando ejecuto estos dos commands, no veo una twig que se haya creado recientemente.

Puedo ver esta twig en la interfaz de usuario web. pero no cuando hago git branch -a

Aunque puedo ver esta twig en la interfaz de usuario web. cuando trato de hacer

git branch –set-upstream-to = origin / feature / branch feature / branch dice

 error: the requested upstream branch 'origin/feature/branch' does not exist 

Lo curioso es que si borro mi directory local y hago un git clone nuevamente, entonces puede ver la nueva twig.

¿Alguien sabe por qué el cliente de la command-line de git no puede ver la nueva twig?

Git solo se comunica a través de la networking con commands muy específicos. De lo contrario, está utilizando una copy local en caching de los repositorys remotos. Cuando ejecuta git branch -r es esta caching local la que se está verificando. origin/feature/branch es una "twig de seguimiento remoto" en su caching local. Entonces, su copy local del control remoto está simplemente desactualizada.

Para actualizar, ejecute git fetch [remote-name] . Esta es una operación totalmente segura y no afectará a sus sucursales locales, simplemente pondrá su caching local sincronizada con el control remoto. git pull también se actualizará, ya que básicamente es una git fetch más una git merge , pero luego tienes que preocuparte por la fusión.

Extendiendo un poco en respuesta @Schwern. Casi todas las operaciones en Git son locales. A less que se indique, nunca verifica cambios remotos. Su copy local tiene una database que se almacena dentro de la carpeta .git. Cuando ejecuta commands como git branch -a , comtesting con la database local y no con el control remoto.

Es por eso que cada vez que hay un cambio en el control remoto necesita actualizar esta database local para get las últimas actualizaciones y git fetch hace esto. Solo actualiza tu git db local sin realizar ninguna modificación al código.

Esto me sucede con frecuencia. Para resolver, simplemente ejecuto git pull , por lo que git se da count de la nueva twig.