Git y GitHub
PocketCode trae Git integrado: nada que instalar y ningún comando git que teclear. Prepara por fragmentos, haz commit, cambia y fusiona ramas, guarda aparte, mira el blame, haz rebase interactivo y cherry-pick, y lee y gestiona tus pull requests, issues y CI de GitHub. Funciona con la librería JGit dentro de la app, así que todo lo local va sin conexión; solo hablar con un remoto (clonar, pull, push, GitHub) necesita red.
Qué es y cómo se abre
Git no es una sola pantalla: cada pieza vive donde ya trabajas. Elige la puerta que encaja con lo que estás haciendo.
| Dónde | Cómo se abre |
|---|---|
| Control de código (editor) | Abre la paleta de comandos o el menú del editor, ve a la sección Git y elige Control de código fuente (el panel se titula Control de código). O pulsa Ctrl+Shift+G con un teclado físico, o toca el nombre de la rama o el texto del blame en la barra de estado. |
| PR e issues de GitHub (editor) | Paleta de comandos o menú del editor → Git → PR e issues de GitHub. No tiene atajo. |
| Historial local… y Comparar con… (editor) | Paleta de comandos. Ninguno tiene atajo. |
| Panel de Git (terminal) | En el terminal, abre el panel de herramientas o el menú del terminal y elige Panel de Git. |
| La tarjeta del proyecto (Proyectos) | Toca el chevrón de una tarjeta para desplegarla: Commit, Git, Publicar, y Pull / Push / Fetch cuando el proyecto tiene remoto. Clonar es el botón de arriba de la página. |
| Tu cuenta de GitHub | Ajustes → Integraciones → Servicios conectados → GitHub. |
Qué hay debajo
- Motor integrado. Git funciona con JGit 6.5.0, una librería de Git para Java, dentro de la app. El terminal local no tiene un programa
git, así que su Panel de Git usa el mismo motor; por SSH el panel ejecuta elgitdel propio host. - Funciona sin conexión. Estado, preparar, commits, diffs, blame, historial, stash, merge, comparar ramas, rebase, cherry-pick, ramas, tags e Historial local no necesitan red. Clonar, fetch, pull, push, publicar y todo lo de GitHub, sí.
- Un proyecto nuevo aún no es un repositorio. Empieza a controlarlo con Empezar a controlar este proyecto (Proyectos → Git) o Inicializar repositorio (el Panel de Git del terminal). Clonar te da un repositorio. La carpeta
.pocketcode/de PocketCode se deja fuera de tus cambios. - Otras puertas. El chat de IA puede ejecutar Git por ti (estado, commit, log, diff, ramas, push y pull; el push te pide confirmación) y Workflows tiene un paso de Git (estado, commit, push, pull, checkout, log, diff). Los dos usan este mismo motor y se explican en sus propias páginas.
Ctrl+Shift+G es el único atajo de Git. GitHub, Historial local, Comparar con… y rebase no tienen.Mapa de pantallas
Cada pantalla y hoja que toca Git, y dónde vive. Las siguientes secciones las recorren una a una.
| Pantalla | Cómo llegas | Qué puedes hacer |
|---|---|---|
| Control de código | Editor → Git → Control de código fuente, Ctrl+Shift+G o la barra de estado | Ver la rama y los contadores ↑↓, preparar y quitar ficheros, leer diffs, escribir un mensaje y confirmar, traer y subir. |
| Mensaje de commit con IA | Control de código → Mensaje con IA | Elegir uno de cuatro estilos de mensaje sugerido a partir de los nombres de tus ficheros. Rellena la caja del mensaje; no hace el commit. |
| Preparar por fragmentos | Control de código → el icono de un fichero en Cambios | Elegir qué bloques de un fichero entran en el commit y cuáles se quedan fuera. |
| Mezclar rama | Control de código → Fusionar | Mezclar una rama local en la actual. Si hay conflicto, el mismo diálogo lista los ficheros en conflicto, te deja resolver cada uno y te deja abortar la mezcla. |
| Guardar aparte (stash) | Control de código → Guardar aparte | Dejar cambios a un lado, con un mensaje opcional, y luego aplicarlos, recuperarlos o descartarlos. |
| Blame | Control de código → Blame | Ver quién cambió por última vez cada bloque del fichero abierto y abrir el diff de ese commit. |
| Historial del fichero | Control de código → Historial del fichero | Recorrer los últimos 50 commits que tocaron el fichero abierto y abrir cada diff. |
| Comparación de ramas | Control de código → Comparar | Comparar dos ramas locales: commits por delante y por detrás, y ficheros cambiados. |
| Visor de diferencias | Toca un fichero en Control de código; también desde Historial del fichero, Blame, Historial local y Comparar con… | Leer las líneas añadidas y quitadas con su número y los totales +N −M; Intercambiar los dos lados. |
| Resolución de conflictos | Diálogo Mezclar rama → un fichero en conflicto → Editar a mano, o un rebase interactivo que se detiene por un conflicto → Resolver | Elegir Ours, Theirs o Both en cada bloque en conflicto. |
| PR e issues de GitHub | Editor → Git → PR e issues de GitHub | Cuatro pestañas: PRs, Issues, CI y Avisos. Filtrar y abrir pull requests e issues; crear, fusionar, cerrar y comentar. |
| Nueva pull request | Pestaña PRs → Nueva pull request desde … | Título, descripción, rama base y de origen, borrador y etiquetas. |
| Rebase interactivo | PR e issues de GitHub → menú ⋮ → Rebase interactivo… | Planificar, confirmar y ejecutar un rebase, con una copia de seguridad que puedes restaurar. |
| Cherry-Pick | PR e issues de GitHub → menú ⋮ → Cherry-pick… | Aplicar commits, escritos por su hash, sobre la rama actual. |
| Historial local | Paleta de comandos → Historial local… | Recorrer versiones guardadas del fichero abierto; copiar o restaurar una. |
| Comparar con… | Paleta de comandos → Comparar con… | Comparar el fichero abierto con el disco, HEAD, el portapapeles u otra pestaña abierta. |
| Marcas del explorador y barra de estado | Siempre visibles en un repositorio | Ver qué ficheros han cambiado, y la rama con sus contadores ↑↓. |
| Panel de Git | Terminal → panel de herramientas → Panel de Git | Pestañas Estado, Ramas, Historial y Acciones: el motor integrado en local, el git del host por SSH. |
| Confirmar cambios | Tarjeta del proyecto → Commit | Preparar y quitar ficheros, descartar los cambios de un fichero, enmendar, Commit o Commit & Push. |
| Configuración Git | Tarjeta del proyecto → Git | Empezar a controlar, vincular o crear un remoto, subir, bajar y comprobar el remoto; cambiar y crear ramas; Historial, Etiquetas; tu nombre en los commits. |
| Historial de commits | Configuración Git → Historial | Los últimos 100 commits, con Revert, Reset Soft, Reset Hard y Cherry-pick. |
| Tags | Configuración Git → Etiquetas | Crear un tag (anotado si añades mensaje), borrar uno, enviar los tags. |
| Publicar en remoto | Tarjeta del proyecto → Publicar | Crear un repositorio vacío en GitHub, GitLab o Bitbucket y vincularlo como origin. No hace push. |
| Clonar | Página Proyectos → Clonar | Elegir uno de tus repositorios de GitHub, GitLab o Bitbucket y descargarlo como proyecto. |
| Iniciar sesión con un código | Ajustes → Integraciones → Servicios conectados → GitHub | Conectar tu cuenta de GitHub con un código corto que apruebas en el navegador. |
Clonar, publicar y conectar GitHub
Git solo puede hablar con un remoto cuando PocketCode tiene tu cuenta. Clonar, publicar, traer y subir usan la cuenta que conectas en Servicios conectados; no hay nada que configurar por repositorio.
Conecta tu cuenta de GitHub
- 1Abre Ajustes → Integraciones → Servicios conectados y elige GitHub. Su fila dice Iniciar sesión con un código.
- 2Toca Pedir un código a GitHub. PocketCode muestra Tu código.
- 3Toca Abrir GitHub, teclea el código en la página que se abre (
github.com/login/device) y apruébalo. - 4Deja la hoja abierta. Esperando a que lo apruebes… se convierte solo en una cuenta conectada: no hay ningún token que copiar.
Puedes
- Conectar sin manejar nunca un token: PocketCode usa el device flow de GitHub, que no necesita client secret y consulta cada pocos segundos hasta que apruebes.
- Ver lo que se pide antes de aprobar: los permisos
repo,read:useryuser:email.repoes lo que llega a los repositorios privados. - Usar esa misma cuenta para clonar, publicar, fetch, pull, push, la hoja PR e issues de GitHub y el feed de CI.
No puedes, y por qué
- Conectar una segunda cuenta de GitHub (o una segunda cuenta de cualquier proveedor) en Free: la primera cuenta de cada proveedor es gratis, las demás son Pro.Pro
- Usar la entrada por código cuando GitHub no la ha activado para la OAuth App de PocketCode: la hoja dice entonces que GitHub no la ofrece ahora mismo.Terceros
Clonar un repositorio
- 1En la página Proyectos toca Clonar y elige Clonar de GitHub, Clonar de GitLab o Clonar de Bitbucket. Un servicio que no has conectado dice No conectado — toca para conectar; su botón Conectar te lleva a Servicios conectados.
- 2Busca entre tus repositorios (Buscar repositorios… en GitHub) y toca Clonar en uno. Basta un toque: no se pregunta nada más, y el clon se guarda siempre en el almacenamiento de proyectos de PocketCode, que otras apps no pueden ver.
- 3Clonando Repositorio muestra el avance. Cancelar lo detiene y borra la copia a medias.
- 4El repositorio aparece como un proyecto nuevo. Si ya existe un proyecto con ese nombre, el nuevo se llama
nombre (2),nombre (3)…
Puedes
- Clonar repositorios privados y públicos de GitHub, GitLab o Bitbucket, siempre que esa cuenta esté conectada.
- Obtener el historial completo: un clon no es superficial (shallow).
No puedes, y por qué
- Clonar desde una URL, o un repositorio que no esté en la lista de tu cuenta.Aún no
- Clonar desde otros hosts (GitHub Enterprise, GitLab propio, Gitea, Codeberg…): solo se admiten github.com, gitlab.com y bitbucket.org.A propósito
- Clonar sin una cuenta conectada, ni siquiera un repositorio público.Requiere red
- Traer submódulos o contenido de Git LFS: los submódulos no se clonan y los ficheros LFS se quedan como sus pequeños punteros de texto.Aún no
- Ver el progreso real: la barra avanza por saltos, no por bytes.Aún no
Publicar un proyecto local
Publicar es para un proyecto que por ahora solo existe en tu móvil.
- 1Despliega la tarjeta del proyecto y toca Publicar.
- 2Elige un servicio conectado, escribe el Nombre del repositorio (empieza siendo el nombre del proyecto) y elige Público o Privado. Empieza en Público, así que cámbialo a Privado si el código no es para todos.
- 3Toca Crear y vincular.
Puedes
- Publicar en GitHub, GitLab o Bitbucket.
- Conseguir lo mismo desde Git → Crear en GitHub y conectar, o vincular un repositorio que ya tienes con Vincular un repositorio que ya tengo (mira Git en la tarjeta del proyecto).
No puedes, y por qué
- Publicar sin ningún servicio conectado: la hoja dice Conecta GitHub, GitLab o Bitbucket en Servicios primero, y desde ahí no puedes conectar.Requiere red
- Publicar en otro host.A propósito
origin. No hace commit ni push. Tu trabajo sube cuando haces commit y luego usas Subir cambios (o Push).Control de código en el editor
Control de código es el panel de Git del editor, para el proyecto abierto. Muestra la rama y tus cambios y cubre el ciclo de cada día: preparar, confirmar, traer, subir. El trabajo con ramas, el stash, el blame y el historial son los chips de arriba.
Revisar y preparar cambios
El subtítulo se lee como main ↑2 ↓1 · Cambios · 3: la rama, los commits que no has subido (↑) y no has traído (↓), y el número de cambios. Los ficheros se agrupan en Cambios preparados, Cambios y Sin seguimiento.
Puedes
- Toca un fichero para leer su diff: líneas añadidas y quitadas en color, con su número y los totales
+N −M. Intercambiar cambia los dos lados. - Mueve un fichero con Preparar / Anular preparación en su fila (Seguir y preparar para uno nuevo), o un grupo entero con Preparar todo / Anular preparación de todo.
- Usa los iconos Actualizar, Traer y Subir de la cabecera. Traer y Subir se ejecutan al instante, sin preguntar, y cada uno termina con un mensaje (Push realizado o El push falló: …).
- Ver No hay cambios (El árbol de trabajo está limpio.) cuando no hay nada que confirmar.
No puedes, y por qué
- Empezar un repositorio desde aquí: en un proyecto que aún no lo es, el panel solo dice No hay cambios. Empieza a controlarlo desde Proyectos → Git o desde el Panel de Git del terminal.Aún no
- Hacer fetch, crear o cambiar de rama, enmendar, descartar los cambios de un fichero, editar tags o remotos: el editor no tiene botón para eso. Proyectos y el terminal cubren casi todo (mira más abajo).Aún no
- Fiarte de que los contadores ↑↓ estén al día: solo cambian después de un pull o un push, porque el editor no puede hacer fetch.Aún no
Preparar por fragmentos
Confirma solo una parte de un fichero. Toca Preparar por fragmentos en un fichero de Cambios.
Puedes
- Cada bloque de cambio aparece como Fragmento en la línea N con sus líneas quitadas y añadidas.
- Todos los fragmentos empiezan en Preparar; toca Omitir en los que quieras dejar fuera. N de M aceptados los cuenta.
- El botón de abajo dice Añadir todo al índice cuando están todos elegidos y Añadir N en caso contrario. Añade solo esos fragmentos al próximo commit y deja intacto tu fichero en el disco.
No puedes, y por qué
- Partir un fragmento en líneas sueltas.Aún no
- Preparar por fragmentos un fichero nuevo o ya preparado: el icono solo aparece en Cambios.Aún no
Confirmar y el mensaje sugerido
Escribe un mensaje en Mensaje del commit… y toca Confirmar. El botón solo se activa con un mensaje y al menos un fichero en Cambios preparados.
Puedes
- Toca Mensaje con IA para tener ideas. Elige un estilo (Convencional, Descriptivo, Imperativo o Emoji), toca una sugerencia y Usar este mensaje: rellena la caja, y tú sigues tocando Confirmar.
- Confirmar como tú: los commits del editor llevan el nombre y el email guardados en el repositorio, así que fija antes Tu nombre en los commits (Proyectos → Git).
No puedes, y por qué
- Enmendar el último commit desde el editor: usa Enmendar último commit en Proyectos → Commit.Aún no
Mezclar una rama
- 1Toca Fusionar. El diálogo Mezclar rama dice Actual: main y lista tus otras ramas locales; redúcelas con Buscar ramas....
- 2Elige una rama y toca Mezclar en main.
- 3Un mensaje te cuenta cómo fue: Merge en avance rápido: …, Merge realizado: …, Ya está actualizado o, si hay un conflicto, El merge tiene conflictos en: ….
- 4Tras un conflicto el diálogo pasa a Conflictos de mezcla detectados con N archivo(s) necesitan resolución. Toca un fichero y elige Aceptar el actual, Aceptar el entrante o Aceptar ambos (cada uno se aplica a todos los bloques en conflicto de ese fichero y lo prepara), o Editar a mano para elegir bloque a bloque. Mira Conflictos.
- 5Abortar mezcla abandona la mezcla: pregunta ¿Abortar el merge? (Se descartará el merge en curso y las resoluciones de conflictos hechas hasta ahora. No se puede deshacer.) y Abortar lo confirma. Cuando se resuelve el último fichero, el diálogo vuelve a la lista de ramas y haces el commit desde Control de código.
No puedes, y por qué
- Mezclar una rama remota, o elegir solo fast-forward, sin fast-forward o squash. Para traer trabajo remoto, usa Traer.Aún no
Comparar dos ramas
- 1Toca Comparar (Comparación de ramas).
- 2Elige Base y Comparar, y toca Comparar ramas.
Puedes
- Leer Por delante y Por detrás, Ficheros, los commits (la lista se corta en 50, pero Por delante es la cuenta real) y las rutas cambiadas. Dos ramas idénticas dicen No hay diferencias entre estas ramas.
No puedes, y por qué
- Abrir el diff de un fichero desde la comparación, o comparar ramas remotas: solo se listan las locales.Aún no
Guardar aparte (stash)
El chip Guardar aparte muestra cuántas entradas tienes. Toca Guardar aparte y luego Guardar los cambios aparte para dejar tus cambios a un lado; toca una entrada para Aplicar, Recuperar o Descartar. Descartar pregunta antes: ¿Descartar el stash? — Esta entrada del stash se eliminará de forma permanente. No se puede deshacer.
Puedes
- Escribe un Mensaje (opcional) antes de confirmar: se guarda con la entrada y sale como su título en la lista. Sin él, Git pone su propio título WIP on ….
- Lee el resultado en un mensaje: Stash guardado: …, Stash aplicado y eliminado (Recuperar), Stash aplicado (se conserva) (Aplicar) o Stash eliminado (Descartar).
No puedes, y por qué
- Guardar aparte ficheros nuevos (sin seguimiento): solo se aparta lo que cambia en ficheros que Git ya sigue.Aún no
- Recuperar una entrada concreta: Recuperar siempre aplica y borra la más reciente, sea cual sea la fila que abriste.Aún no
- Resolver conflictos cuando un stash aplicado entra en conflicto: no hay resolución para eso.Aún no
Blame
Puedes
- Con un fichero abierto, toca Blame: las líneas consecutivas del mismo commit se agrupan, con el autor, Línea N (o un rango) y el hash de 7 caracteres.
- Toca un bloque y luego Ver el commit para leer el diff de ese commit en el fichero.
- Mira la barra de estado: puede mostrar autor · hace cuánto de la línea donde está el cursor, junto al nombre de la rama. Toca cualquiera de los dos para abrir Control de código. Las líneas que aún no has confirmado muestran Not Committed Yet.
No puedes, y por qué
- Hacer blame de otra rama o commit, u ocultar el blame de la barra de estado: no hay ajuste.Aún no
- Leer ese tiempo relativo en tu idioma: just now, 5 min ago, yesterday… salen siempre en inglés.Aún no
Historial de un fichero
Puedes
- Con un fichero abierto, toca Historial del fichero para ver los últimos 50 commits que lo tocaron (mensaje, hash, autor, antigüedad), y Ver diff para ver qué cambió cada uno en ese fichero.
- Un fichero sin historial dice Este archivo no tiene historial de commits.
No puedes, y por qué
- Ver más de 50 commits.A propósito
- Restaurar el fichero a una versión antigua, o hacer revert desde la fila: Revert está en Proyectos → Git → Historial, y el Historial local cubre el trabajo sin confirmar.Aún no
Marcas en el explorador y en la barra de estado
Puedes
- En un repositorio, el explorador de ficheros marca cada fichero cambiado (modificado, añadido, sin seguimiento, eliminado o renombrado), marca las carpetas que contienen cambios y muestra un pie con la rama, ↑↓ y el número de ficheros cambiados. Lee el mismo estado que Control de código.
- El nombre de la rama de la barra de estado abre Control de código.
- Fuera de un repositorio Git no hay marcas ni pie.
No puedes, y por qué
—
Git en la tarjeta del proyecto
Varias acciones de Git viven en la tarjeta del proyecto, en la página Proyectos, y no en el editor: enmendar, cambiar y crear ramas, tags, revert, reset, vincular un remoto y el nombre de tus commits. La tarjeta en sí se explica en la página de Proyectos.
Qué te dice la tarjeta
Junto al nombre del proyecto, la tarjeta muestra una etiqueta solo cuando hay algo que hacer.
| Etiqueta | Significado |
|---|---|
| Pull | El remoto tiene commits que tú no tienes. |
| Push | Tienes commits que el remoto no tiene, o esta rama nunca se ha subido. |
| Cambios | Tienes cambios sin confirmar (se muestra en proyectos que tienen remoto). |
| Conflicto | Los dos lados tienen commits nuevos, así que primero hay que bajar. No significa conflictos de fusión. |
Confirmar cambios
Toca Commit en la tarjeta. La hoja se titula Confirmar cambios y nombra la rama.
Puedes
- Mover ficheros entre Staged (n) y Sin añadir (n) con la casilla de cada uno, o usar Añadir todo / Quitar todo.
- Escribir un Mensaje de commit y tocar Commit. Necesita un mensaje y al menos un fichero preparado, y no prepara nada por ti: sin ninguno dice Sin archivos staged. Usa 'Añadir todo' para incluir los cambios.
- Marcar Enmendar último commit (Modificar el commit anterior con los cambios actuales): el botón pasa a Enmendar commit.
- Tocar Commit & Push para confirmar y subir de una vez (solo cuando el proyecto tiene remoto).
- Tirar los cambios sin confirmar de un fichero que Git ya sigue con el icono Descartar cambios de su fila. No aparece en ficheros preparados ni nuevos.
- Autor: el nombre y el email guardados en el repositorio; si no hay, los de tu cuenta de PocketCode.
No puedes, y por qué
—
Configuración Git
Toca Git en la tarjeta. Una tarjeta de estado dice en qué punto está el proyecto, y las acciones cambian con él.
| La tarjeta dice | Qué puedes hacer |
|---|---|
| Todavía sin control de versiones | Empezar a controlar este proyecto crea un repositorio local, con un .gitignore que deja fuera .pocketcode/. Vincular un repositorio que ya tengo lo crea y fija origin a la URL que des. |
| Guardado solo en este dispositivo | Crear en GitHub y conectar (o GitLab, Bitbucket) crea un repositorio vacío privado o público y lo vincula; antes necesita la cuenta (Conecta antes una cuenta de GitHub en Ajustes). Vincular un repositorio que ya tengo fija origin a una URL. |
| Conectado | Subir cambios (push), Bajar cambios (pull) y Comprobar el remoto (fetch), además de las filas Rama, Historial y Etiquetas. |
Puedes
- Rama: tus ramas locales. Toca una para cambiar a ella, o usa Crear nueva rama: la casilla Cambiar a esta rama (marcada por defecto) te pasa a ella al momento.
- Tu nombre en los commits: fija el
user.namey eluser.emailque guarda el repositorio. Empiezan rellenos con los del repositorio, tu servicio conectado o tu cuenta.
No puedes, y por qué
- Cambiar de rama o ver Historial y Etiquetas en un repositorio que aún no tiene remoto: esas filas solo aparecen cuando hay un
origin. El Panel de Git del terminal sí cambia de rama en local.Aún no - Borrar o renombrar una rama, o listar ramas remotas: aquí solo existen las locales.Aún no
Historial de commits, Revert y Reset
Historial (Historial de commits) lista los últimos 100 commits: mensaje, hash de 7 caracteres, autor y fecha. Toca un commit para ver cuatro botones.
| Botón | Qué hace |
|---|---|
| Revert | Crea un commit nuevo que deshace ese commit. El historial no se reescribe. |
| Reset Soft | Devuelve la rama a ese commit y deja todo lo posterior como cambios preparados. |
| Reset Hard | Devuelve la rama y tira todo lo posterior, incluidos los cambios sin confirmar. |
| Cherry-pick | Aplica ese commit encima de la rama actual, sin escribir ningún hash. |
No puedes, y por qué
- Hacer un reset mixed, o restaurar un único fichero de un commit antiguo: solo existen Reset Soft y Reset Hard.Aún no
Tags
Etiquetas es una fila de Configuración Git y, como Rama e Historial, aparece cuando el proyecto tiene remoto.
Puedes
- Crear tag: un nombre como
v1.0.0y un mensaje opcional. Con mensaje, el tag es anotado. - Borrar un tag con su icono.
- Enviar tags (push) los sube (solo con remoto).
No puedes, y por qué
—
Panel de Git en el terminal
El terminal tiene su propio panel pequeño de Git. Es lo más rápido para empezar un repositorio o hacer un commit mientras ya estás en la shell.
Panel de Git
Abre el panel de herramientas del terminal (o su menú) y elige Panel de Git. Tiene cuatro pestañas: Estado, Ramas, Historial y Acciones. En la shell local trabaja sobre el repositorio que encuentra subiendo desde la carpeta en la que estás, sin salir de tu propio espacio de trabajo, con el motor integrado. Por SSH ejecuta git en el host remoto.
Puedes
- Estado: recuentos y listas de ficheros Preparado, Modificado y Sin seguimiento, o Árbol de trabajo limpio.
- Ramas: toca una rama para cambiar a ella, o Nueva rama.
- Historial: los últimos 30 commits.
- Acciones: Confirmar cambios (pide un mensaje y cierra el panel), Pull, Push, Stash, Stash Pop, Fetch, Añadir todo y Reset (saca todo del índice).
- Sin repositorio, Aquí no hay un repositorio Git ofrece Inicializar repositorio.
No puedes, y por qué
- Usar la acción Diff en la shell local: solo existe por SSH.A propósito
- Hacer stash con mensaje, descartar un solo fichero, merge, rebase, tags o blame: no están en este panel. Lo dice él mismo: Panel local sobre JGit; para un git completo usa Control de código fuente del editor.Aún no
- Hacer push o pull sin una cuenta conectada: el panel muestra Git: … con el motivo y no abre ningún inicio de sesión.Requiere red
Conflictos
Un conflicto significa que dos cambios tocaron las mismas líneas. PocketCode tiene dos formas guiadas de resolverlo: el diálogo Mezclar rama de Control de código, para un merge, y la resolución bloque a bloque de un rebase interactivo. Si el conflicto viene de un pull, un stash aplicado o un cherry-pick, te ocupas tú de los marcadores de conflicto.
Fichero a fichero, tras un merge
- 1Mezcla una rama desde Control de código. Si hay conflicto, un mensaje dice El merge tiene conflictos en: … y el diálogo Mezclar rama muestra Conflictos de mezcla detectados, N archivo(s) necesitan resolución y la lista de ficheros.
- 2Toca un fichero para abrir sus opciones: Aceptar el actual, Aceptar el entrante, Aceptar ambos o Editar a mano.
- 3Las tres primeras reescriben el fichero entero: todos los bloques en conflicto toman ese lado (o los dos, primero el actual), los marcadores desaparecen y el fichero queda preparado. Un mensaje lo confirma: Conflicto resuelto: ….
- 4Editar a mano abre la hoja bloque a bloque que se describe más abajo: elige Ours, Theirs o Both en cada bloque y toca Aplicar.
- 5Cuando no queda ningún fichero en la lista, el diálogo vuelve al selector de ramas. Los ficheros resueltos quedan preparados: escribe un mensaje y Confirmar.
Puedes
- Resolver los ficheros uno a uno y ver cómo baja la cuenta.
- Abandonar con Abortar mezcla: pregunta ¿Abortar el merge? y Abortar lo confirma; el mensaje dice Merge abortado.
No puedes, y por qué
—
Bloque a bloque, durante un rebase
- 1Cuando un rebase interactivo se detiene por un conflicto, cada fichero en conflicto muestra Resolver.
- 2En cada bloque elige Ours (Current (ours)), Theirs (Incoming (theirs)) o Both. La cabecera cuenta tu avance: N / M resueltos.
- 3Toca Aplicar. El fichero se guarda, y se prepara cuando ya no quedan marcadores de conflicto. Los bloques que no elegiste conservan sus marcadores.
- 4De vuelta en el rebase, toca Continuar (o Omitir este commit, o Abortar).
No puedes, y por qué
- Elegir la versión del ancestro común de un bloque, o editar a mano dentro de la hoja.Aún no
Conflictos de un pull, stash o cherry-pick
En Proyectos, un pull que entra en conflicto dice: Las mismas líneas han cambiado en los dos lados. Abre los ficheros afectados, quédate con la versión que quieras y vuelve a intentarlo. Ese es también el camino aquí.
No puedes, y por qué
- Usar una resolución guiada para un conflicto que viene de un pull, un stash aplicado o un cherry-pick: solo el diálogo Mezclar rama y el rebase interactivo la tienen.Aún no
<<<<<<<, =======, >>>>>>>) en tus ficheros: ábrelos y quédate con la versión que quieras.Rebase interactivo y cherry-pick
El rebase interactivo y el cherry-pick no se abren desde Control de código: están en la hoja de GitHub. Abre PR e issues de GitHub y usa su menú ⋮ → Rebase interactivo… o Cherry-pick….
origin del proyecto está en github.com. Un proyecto sin remoto, o cuyo origin está en GitLab, Bitbucket u otro host, no puede abrir rebase ni cherry-pick. Proyectos → Git → Historial ofrece Cherry-pick en cualquier commit que toques, sin escribir ningún hash, y avisa del resultado con un mensaje.Rebase interactivo
- 1Abre Rebase interactivo…. La hoja empieza en modo plan: todavía no se toca tu repositorio.
- 2Elige Rama de destino. Empieza siendo
mainomastersi existe y no es tu rama actual. - 3En cada commit elige Aplicar, Reescribir, Aplastar, Fusionar sin mensaje o Descartar, y usa Editar mensaje para cambiar el mensaje de un commit.
- 4Si tienes cambios sin confirmar, la hoja te avisa; activa Guardar mis cambios en el stash antes de empezar para dejarlos aparte. Si el rebase termina, siguen en el stash (aplícalos desde Guardar aparte); si abortas, vuelven solos.
- 5Toca Empezar el rebase. Una confirmación enumera el plan (por ejemplo dos Aplicar y un Aplastar) y cuántos commits saldrán de la rama; quedan en la copia de seguridad.
- 6Si un commit entra en conflicto, el rebase se detiene: Parado en … · paso N de M. Usa Resolver en cada fichero (mira Conflictos), y luego Continuar; o Omitir este commit, o Abortar. Cada uno te pide confirmación.
- 7Al terminar aparece Rebase completado (o Rebase deshecho tras abortar). Restaurar la copia devuelve la rama a como estaba antes del rebase; Otro rebase vuelve a empezar.
Puedes
- Antes de cambiar nada, PocketCode guarda la punta actual de tu rama como
refs/pocketcode/rebase-backup/<rama>. - Un rebase nunca empieza con cambios sin confirmar, a menos que los guardes antes en el stash.
- Abortar lo deshace todo (rama, índice y árbol de trabajo) y vuelve a aplicar tu propio stash.
- El plan se guarda dentro de
.git, así que Continuar y Omitir este commit siguen funcionando aunque se haya cerrado la app entretanto. - Restaurar la copia devuelve la rama a la punta guardada, pero solo con el árbol de trabajo limpio; los commits hechos después del rebase quedan entonces solo en el reflog de Git.
No puedes, y por qué
- Reordenar commits: la hoja no lo permite.A propósito
- Usar la acción Edit: Git crearía un commit nuevo en lugar de enmendar, así que no se ofrece.A propósito
- Empezar con Aplastar o Fusionar sin mensaje en el primer commit que se queda, o descartar todos los commits: la hoja rechaza las dos cosas.A propósito
- Hacer rebase sobre una rama remota, o de una rama distinta de la que tienes: solo se ofrecen ramas locales, y un HEAD separado se rechaza.Aún no
- Abrirlo desde Control de código, desde un proyecto sin remoto o desde uno cuyo
originno está en github.com.Aún no
Cherry-pick
- 1Abre Cherry-pick…, escribe un hash de commit en Hash del commit y toca Añadir. Añade los que necesites; salen como chips.
- 2Toca Cherry-Pick (o Cherry-pick de N commits) y confirma: ¿Aplicar N commits sobre la rama actual, en orden?
- 3La hoja informa Cherry-pick de … hecho con éxito o El cherry-pick ha fallado: ….
No puedes, y por qué
- Elegir commits de una lista: tienes que saber y teclear el hash, y la única comprobación es que no tenga espacios.Aún no
- Fiarte del orden cuando añades varios hashes: se lanzan a la vez, así que el «en orden» de la confirmación no está garantizado. Haz cherry-pick de uno en uno cuando el orden importe.Aún no
- Fiarte de Commit nuevo: …: muestra el hash que escribiste, no el id del commit que se creó.Aún no
- Resolver un conflicto: un cherry-pick con conflicto solo informa de un fallo, sin resolución.Aún no
GitHub: pull requests, issues, CI y avisos
PR e issues de GitHub habla con el repositorio de GitHub del proyecto abierto en el editor. Lee el remoto origin del proyecto y usa la cuenta que conectaste en Servicios conectados; las peticiones van directas de tu móvil a api.github.com. La cabecera muestra owner/repo, un icono para abrir el repositorio en el navegador y el menú ⋮.
Para empezar
Necesitas un proyecto cuyo origin esté en github.com y una cuenta de GitHub conectada. Con ningún proyecto abierto la hoja dice No se ha definido la ruta del proyecto — ábrelo desde el editor; los demás casos están en Problemas frecuentes. Tiene cuatro pestañas.
| Pestaña | Qué muestra |
|---|---|
| PRs · N | Las pull requests del repositorio, la de actividad más reciente primero. |
| Issues · N | Sus issues (las pull requests se dejan fuera). |
| CI | Los checks de la pull request que abriste. |
| Avisos · N | Tus notificaciones de GitHub; N es el número de no leídas, que se carga la primera vez que abres la pestaña. |
Pull requests
Puedes
- Filtrar con Abiertas, Mías, Revisión pedida, Cerradas o Todas. Mías y Revisión pedida se filtran en tu móvil con tu login de GitHub.
- Leer la lista: estado (Abierta, Borrador, Fusionada, Cerrada), número, título, autor, antigüedad, revisiones pedidas y etiquetas.
- Abrir una: Resumen (descripción,
head → base, ficheros cambiados,+N / −M, commits, asignados, etiquetas, Checks y Revisiones con su estado), Ficheros · N (rutas con+/−) y Comentarios · N. - Ver por qué no se puede fusionar: un aviso dice No se puede fusionar: … seguido de los motivos que apliquen (conflictos de fusión, un check fallido, cambios pedidos).
- Escribe un comentario… publica un comentario de conversación. Cerrar PR cierra la pull request.
- Fusionar ofrece Commit de fusión, Combinar y fusionar y Rebasar y fusionar. La app envía el commit de cabeza que te enseñó, así que si alguien hizo push entretanto GitHub lo rechaza en vez de fusionar commits que no has visto.
- Nueva pull request desde … (necesita una rama actual): título, descripción, Rama base y Rama de origen, Crear como borrador y etiquetas, y luego Crear pull request.
No puedes, y por qué
- Enviar una revisión (aprobar o pedir cambios), comentar una línea o leer el diff de la pull request: las revisiones se ven pero son de solo lectura, y Ficheros lista rutas sin abrirlas.Aún no
- Elegir revisores al crear una pull request.Aún no
- Reabrir una pull request, editar su título o descripción, activar el auto-merge o actualizar su rama.Aún no
- Usar merge requests de GitLab, pull requests de Bitbucket o GitHub Enterprise: solo se leen repositorios de github.com.A propósito
Issues
Puedes
- Filtrar con Abiertos, Mis issues (asignadas a ti), Cerrados o Todos.
- Leer la lista (estado, número, nº de comentarios, autor, etiquetas) y abrir una para ver su cuerpo, fechas, asignados, etiquetas, hito, comentarios y una caja de comentario.
- Cerrar incidencia la cierra como completada. Crear incidencia pide un título, una descripción y etiquetas.
No puedes, y por qué
- Elegir un hito o asignados al crear una issue, reabrirla, editarla, etiquetarla después o buscar.Aún no
CI
Puedes
- Abre una pull request y luego la pestaña CI: los checks de su commit de cabeza (ejecuciones de GitHub Actions, checks de otras apps y estados clásicos) bajo un resumen, como Todos los checks pasaron, Algunos checks fallaron o Checks en progreso.
No puedes, y por qué
- Ver el CI sin abrir antes una pull request (la pestaña dice Selecciona un PR para ver su estado de CI), leer logs, o relanzar o cancelar una ejecución.Aún no
origin y la pone en el feed de estado del Backend Manager. Necesita ese servicio conectado y no se actualiza sola.Avisos
Puedes
- Abre Avisos: tus notificaciones de GitHub en las que participas. Cada fila tiene un icono según su tipo (revisión pedida, aprobado, cambios pedidos, merge, comentario, asignado, mención, CI correcto o fallido, release), el título y repo · motivo.
- Toca una no leída para marcarla como leída, o Marcar todo como leído. Cuando no queda ninguna dice Todo al día.
No puedes, y por qué
- Abrir la pull request o la issue que hay detrás de una notificación: tocarla solo la marca como leída.Aún no
- Ver notificaciones con un token fine-grained: GitHub solo se las enseña a un token clásico o a un inicio de sesión OAuth, y la hoja lo dice.Terceros
Historial local
El Historial local guarda versiones anteriores de un fichero en tu móvil, sin Git, sin red y sin cuenta. Es gratis. Ábrelo desde la paleta de comandos: Historial local….
Qué guarda
Puedes
- Se guarda una versión después de cada guardado correcto, y solo cuando el texto es distinto de la última versión guardada. Funciona con ficheros del proyecto y con ficheros que abriste desde fuera del proyecto.
- Conserva hasta 50 versiones por fichero y 50 MB en total, medidos comprimidos. Al pasar del total, se borran primero las versiones más antiguas de cualquier fichero. No caduca por tiempo.
- Las versiones viven en el almacenamiento privado de PocketCode, nunca dentro de tu proyecto, así que no aparecen como cambios de Git. Renombrar o mover un fichero se lleva su historial.
No puedes, y por qué
- Guardar versiones de ficheros grandes: el editor abre en su modo ligero los ficheros desde 512 KiB, 10.000 líneas o una línea de 2.000 caracteres, y de esos no se guarda nada.A propósito
- Cambiar los límites, o fijar o etiquetar una versión.A propósito
Recorrer y restaurar
- 1Abre el fichero y elige Historial local…. El subtítulo muestra cuántas versiones hay, por ejemplo 12 versiones.
- 2Cada fila muestra cuándo se guardó y su tamaño. Toca una para ver la diferencia entre esa versión y el texto actual.
- 3Copiar esta versión copia su texto. Restaurar esta versión la pone en el editor como una edición que puedes deshacer. No se escribe nada en el disco hasta que guardes.
No puedes, y por qué
- Comparar dos versiones antiguas entre sí: siempre se comparan con el texto actual.Aún no
Comparar con…
Abre la paleta de comandos y elige Comparar con… para comparar el fichero abierto con otra cosa. El resultado es de solo lectura.
Elegir con qué comparar
Puedes
- Elige la base: En disco (La versión guardada de este fichero), HEAD (La última confirmación de git), Portapapeles (El texto copiado) u Otra pestaña abierta.
- Una base que no está disponible dice por qué: No hay repositorio Git, El portapapeles está vacío o No hay otras pestañas abiertas.
- La comparación se abre titulada fichero ↔ base; Intercambiar cambia los dos lados.
No puedes, y por qué
- Editar desde la comparación o verla en dos columnas: es una sola lista unificada de líneas cambiadas.A propósito
Gratis y Pro
Git no tiene puertas de plan propias. Ninguna operación de Git, función de GitHub, Historial local, Comparar con… ni el Panel de Git del terminal está bloqueada tras Pro, y el plan no pone tope a repositorios, ramas, commits ni operaciones. Dos límites a su alrededor sí dependen del plan.
| Función | Free | Pro |
|---|---|---|
| Control de código, stash, blame, historial del fichero, comparar ramas | Incluido | Incluido |
| Rebase interactivo, cherry-pick, resolución de conflictos | Incluido | Incluido |
| Pull requests, issues, CI y avisos de GitHub | Incluido | Incluido |
| Historial local | Incluido: 50 versiones por fichero, 50 MB en total | Igual |
| Panel de Git del terminal, hojas de Git de la tarjeta del proyecto, clonar y publicar | Incluido | Incluido |
| Proyectos propios (nuevo, importar, abrir carpeta, clonar de GitLab o Bitbucket) | 1. Los proyectos de ejemplo no cuentan | Sin tope |
| Cuentas conectadas por proveedor (GitHub, GitLab, Bitbucket…) | 1 | Sin tope |
Privacidad y seguridad
- El token se queda en el móvil. El token que obtienes con Iniciar sesión con un código se guarda cifrado con el Android Keystore, por separado para cada cuenta de PocketCode y cada cuenta de proveedor. Cerrar sesión no lo borra; la app solo cambia al almacén de otra cuenta.
- Adónde va el token. Git lo envía solo a github.com, gitlab.com y bitbucket.org, comparando el host exacto: un remoto en cualquier otro host no recibe credenciales. La hoja PR e issues de GitHub lo envía a
api.github.comdirectamente desde tu móvil. - Entrar en PocketCode con GitHub es otra cosa. Si inicias sesión en la propia PocketCode con GitHub, ese token de GitHub se guarda además en los servidores de PocketCode, y en el dispositivo como una clave de GitHub (sirve para Copilot y, como respaldo, para clonar). El token que usan push, pull y la hoja de GitHub es el de Servicios conectados, que se guarda solo en el dispositivo.
- Los hooks nunca se ejecutan. Los hooks y filtros de Git no se ejecutan, y cuando importas un proyecto (ZIP, plantilla, carpeta) a su
.git/configse le quita todo lo que pudiera ejecutar un comando y se vacían sus hooks. Es una decisión de seguridad. - El Historial local se queda en el dispositivo, en el almacenamiento privado de la app y fuera del proyecto, así que no forma parte de tus cambios de Git.
- Un ZIP del proyecto incluye tu historial. Exportar en la tarjeta de un proyecto incluye la carpeta
.git, así que todo lo que confirmaste viaja con el fichero. - Lo que expone un commit. Cada commit lleva el nombre y el email fijados para el repositorio (o los de tu cuenta de PocketCode, cuando haces commit desde Proyectos). Los ve cualquiera que pueda leer el repositorio. Los commits no se firman.
Limitaciones
Lo que no funciona, para que no te pille por sorpresa. La etiqueta dice por qué.
- Sin remotos SSH. Las direcciones
git@…yssh://no se admiten; usa la dirección HTTPS del repositorio. PocketCode lo dice antes de intentarlo.A propósito - Las credenciales van solo a tres hosts: github.com, gitlab.com y bitbucket.org. Los remotos en GitHub Enterprise, GitLab propio, Gitea, Codeberg o Azure DevOps no reciben ninguna, así que allí los repositorios privados fallan.A propósito
- Las pull requests, issues, CI y avisos son solo de GitHub.com.A propósito
- Sin Git LFS, sin submódulos, sin firma de commits (GPG o SSH). Los ficheros LFS se quedan como pequeños punteros de texto, los clones no traen submódulos y los commits no se firman.Aún no
- Los hooks de Git nunca se ejecutan, y los de los repositorios importados se borran.A propósito
- El terminal local no tiene un programa
git. Su Panel de Git usa el motor integrado, que hace menos cosas quegit. Por SSH se usa elgitdel propio host.A propósito - Solo las ramas locales aparecen en las listas de merge, comparar y rebase. No puedes crear una rama local a partir de una remota, y nada borra ni renombra ramas.Aún no
- Control de código no empieza ningún repositorio, no hace fetch y no puede crear ni cambiar de rama, enmendar, descartar, hacer tags ni editar remotos. Proyectos y el terminal cubren casi todo eso.Aún no
- Resolución guiada de conflictos solo para un merge y un rebase. El diálogo Mezclar rama y el rebase interactivo la tienen; un pull, un stash aplicado o un cherry-pick que entra en conflicto deja marcadores para que los edites tú.Aún no
- Stash: los ficheros nuevos no entran y Recuperar siempre toma la entrada más reciente.Aún no
- El rebase no puede reordenar commits ni usar Edit.A propósito
- El rebase y el cherry-pick solo se abren desde la hoja de GitHub, y solo cuando
originestá en github.com.Aún no - Cherry-pick: el hash se escribe a mano, varios hashes no tienen un orden estricto, Commit nuevo muestra el hash escrito y los conflictos no tienen resolución.Aún no
- No se pueden enviar revisiones de pull requests, escribir comentarios en líneas ni leer el diff de la pull request. Tampoco se pueden elegir revisores, asignados ni hitos al crear algo.Aún no
- Las listas de GitHub se cortan en 300 elementos; las notificaciones cargan seis páginas de 50.A propósito
- Los avisos necesitan un token que GitHub deje leer notificaciones: los tokens fine-grained se rechazan.Terceros
- El límite de peticiones de GitHub: cuando se alcanza, la hoja te dice que vuelvas a intentarlo en unos minutos.Terceros
- Iniciar sesión con un código solo funciona mientras GitHub tenga activado el device flow para la OAuth App de PocketCode; si no, la hoja dice que GitHub no lo ofrece.Terceros
- Clonar, fetch, pull, push, publicar y todo lo de GitHub necesitan conexión. Lo demás funciona sin red.Requiere red
- Panel de Git del terminal: sin Diff en local, sin mensaje de stash, sin descartar un solo fichero, sin merge, rebase, tags ni blame.Aún no
- Proyectos: no se pueden borrar ni renombrar ramas, no hay reset mixed ni restaurar un fichero de un commit.Aún no
- Historial local: 50 versiones por fichero y 50 MB en total, sin caducidad por tiempo, y no se guarda nada de los ficheros en modo ligero (los grandes).A propósito
Problemas frecuentes
Cada título es el mensaje que muestra la app. Donde la app no muestra nada, el título describe la situación. En la hoja de GitHub un aviso dice qué falló y luego por qué.
Conectar GitHub
“El código caducó antes de aprobarse. Pídele otro a GitHub.”
Tardaste más de unos 15 minutos. Toca Reintentar para conseguir un código nuevo y apruébalo.
“La petición se rechazó en GitHub. No se ha guardado nada.”
La aprobación se denegó en la página de GitHub, así que no se conectó nada. Toca Reintentar y aprueba esta vez.
“GitHub no está ofreciendo ahora mismo la entrada por código. Pega un token: funciona exactamente igual.”
La petición del código falló. Puede que GitHub no tenga activada la entrada por código para la app OAuth de PocketCode, algo que depende de la configuración de GitHub y no de tu móvil; el mismo mensaje sale también cuando la petición no llega, por ejemplo sin conexión. Revisa tu conexión y vuelve a intentarlo más tarde.
“GitHub no terminó la autorización. Vuelve a intentarlo o pega un token.”
El inicio de sesión terminó sin un token. Toca Reintentar y aprueba el código nuevo.
Clonar, push y pull desde Proyectos
“Este remoto usa SSH y no está soportado. Usa la dirección HTTPS del repositorio.”
PocketCode solo habla con remotos por HTTPS. Vincula el repositorio con su dirección https://…; un repositorio que clonas desde la lista de Clonar ya la usa.
“Este proyecto todavía no tiene remoto. Vincula uno en los ajustes de Git.”
Abre Git en la tarjeta del proyecto y usa Vincular un repositorio que ya tengo o Crear en GitHub y conectar; o usa Publicar.
“No hay ninguna cuenta conectada para GitHub. Conecta una en Ajustes para subir o bajar.”
Conecta antes la cuenta: Ajustes → Integraciones → Servicios conectados.
“GitHub ha rechazado las credenciales. Vuelve a conectar la cuenta en Ajustes.”
GitHub ya no acepta el token guardado, por ejemplo porque caducó o se revocó. Vuelve a conectar la cuenta en Servicios conectados.
“No se ha podido contactar con GitHub. Comprueba la conexión y vuelve a intentarlo.”
Clonar, fetch, pull y push necesitan conexión. El trabajo local, no.
“El remoto ha rechazado la subida. Baja primero los cambios del remoto y vuelve a subir.”
El remoto tiene commits que tú no tienes. Toca Bajar cambios y luego Subir cambios otra vez.
“Tu rama y la remota han cambiado las dos.”
Descarga primero los cambios del remoto y vuelve a subir: Bajar cambios y luego Subir cambios.
“Este proyecto y el remoto no comparten historial.”
Suele pasar cuando la carpeta ya tenía commits antes de enlazar el remoto. Clona en una carpeta vacía o enlaza otro remoto.
“Las mismas líneas han cambiado en los dos lados.”
Abre los ficheros afectados, quédate con la versión que quieras y vuelve a intentarlo. Un pull no tiene resolución de conflictos; un merge lanzado desde el editor sí la tiene en el diálogo Mezclar rama (mira Conflictos).
PR e issues de GitHub
“El remoto "origin" no está en GitHub (…).”
La hoja solo funciona con github.com. El host entre paréntesis es el que PocketCode encontró en origin.
“Este proyecto no tiene remoto "origin". Añade un remoto de GitHub para ver sus pull requests e issues.”
Usa Git → Vincular un repositorio que ya tengo, o Publicar, en la tarjeta del proyecto.
“Conecta tu cuenta de GitHub en Servicios para ver los pull requests e issues de owner/repo.”
Toca Conectar cuenta de GitHub en la pantalla Sin cuenta de GitHub conectada, o ve a Ajustes → Integraciones → Servicios conectados.
“GitHub rechazó el token. Vuelve a conectar tu cuenta de GitHub en Servicios.”
El token guardado se rechazó. Vuelve a conectar la cuenta en Servicios conectados.
“La cuenta conectada no tiene permiso para esto: …”
La cuenta puede leer el repositorio pero no hacer esa acción. El motivo va después de los dos puntos.
“No encontrado. Si el repositorio es privado, puede que la cuenta conectada no tenga acceso.”
Comprueba que la cuenta conectada es la que puede abrir ese repositorio en GitHub.
“GitHub rechazó los datos: …”
GitHub no aceptó lo que se envió. El motivo va después de los dos puntos.
“GitHub no puede hacerlo ahora: …”
GitHub rechazó la acción tal como están las cosas ahora. El motivo va después de los dos puntos; si la pull request cambió desde que la abriste, ábrela de nuevo y reintenta.
“Se alcanzó el límite de peticiones de GitHub. Vuelve a intentarlo en … min.”
Espera los minutos que dice. La pantalla completa se titula GitHub ha limitado las peticiones; toca Reintentar cuando pase el tiempo.
“GitHub tiene problemas (HTTP …). Inténtalo más tarde.”
Es GitHub el que contestó con un error. No falla nada en tu móvil.
“No se pudo contactar con GitHub. Revisa tu conexión.”
La hoja de GitHub necesita conexión; el resto de Git, no.
“GitHub solo enseña las notificaciones a un token clásico o a un inicio de sesión OAuth con el permiso "notifications"; los tokens fine-grained no pueden leerlas.”
Solo afecta a la pestaña Avisos; PRs, Issues y CI siguen funcionando.
“El pull request se creó, pero no se pudieron añadir sus revisores o etiquetas”
Tu pull request existe en GitHub; solo fallaron los extras. Ábrela en GitHub para añadirlos.
Rebase interactivo
“No estás en una rama (HEAD separado). Cambia antes a una rama.”
Cambia a una rama (Proyectos → Git → Rama, o el Panel de Git del terminal) y empieza de nuevo.
“Hay cambios sin commitear: …”
Haz commit de ellos, o activa Guardar mis cambios en el stash antes de empezar.
“Ya hay un merge o un rebase en curso en este repositorio.”
Termínalo o abórtalo antes. Si es un rebase, la hoja tiene Continuar, Omitir este commit y Abortar.
“El rebase sobrescribiría ficheros sin seguimiento: …. Muévelos o haz commit antes. No se ha cambiado nada.”
Mueve o haz commit de los ficheros que lista el mensaje y empieza de nuevo.
“La rama ha cambiado desde que se cargó la lista. Vuelve a cargarla.”
La rama avanzó después de cargar el plan. Vuelve a abrir Rebase interactivo… para recargarlo.
“Git no pudo aplicar … y ha deshecho el rebase. La rama está como estaba.”
No se perdió nada. El commit que nombra el mensaje no se pudo aplicar sobre la rama de destino.
“Tras resolver, este commit queda vacío. Omítelo para seguir.”
Tu resolución no dejó nada que aplicar. Toca Omitir este commit.
“El primer commit que se queda no puede ser Aplastar ni Fusionar: no hay uno anterior en el que fundirlo.”
Pon Aplicar o Reescribir al primer commit que se queda.
“Estás descartando todos los commits. Deja al menos uno.”
Cambia al menos un commit para que no sea Descartar.
“No hay copia de seguridad de rebase para esta rama.”
Restaurar la copia solo funciona en una rama que PocketCode rebaseó y cuya punta guardada todavía existe.
En el editor y en el terminal
“El push falló: …”, “El pull falló: …” o “El commit falló: …” en el editor
El mensaje después de los dos puntos es el motivo. Push y pull necesitan tu cuenta conectada; el editor nunca abre un inicio de sesión. Proyectos (Subir cambios / Bajar cambios) y el Panel de Git del terminal hacen las mismas acciones y muestran el error con sus propias palabras.
“El merge tiene conflictos en: …”
El merge se detuvo por conflictos. Abre Mezclar rama otra vez: el diálogo lista los ficheros y te deja resolver cada uno o Abortar mezcla (mira Conflictos).
Control de código dice No hay cambios pero he cambiado ficheros
O el árbol de trabajo está limpio, o el proyecto aún no es un repositorio. En Proyectos → Git, Todavía sin control de versiones significa que necesitas Empezar a controlar este proyecto.
“Aquí no hay un repositorio Git”
El Panel de Git del terminal no encontró ningún .git en la carpeta en la que trabajas ni en las de arriba dentro de tu espacio de trabajo. Toca Inicializar repositorio.
“Git: …”
El motivo va detrás. Push y pull necesitan tu cuenta conectada; el panel nunca abre un inicio de sesión por sí mismo.
Siguiente