A veces uso la checkout -b
opción para crear una nueva sucursal, verificarla al mismo tiempo y configurar el seguimiento en un comando.
En un nuevo entorno, me sale este error:
$ git checkout -b test --track origin/master
fatal: Cannot update paths and switch to branch 'test' at the same time.
Did you intend to checkout 'origin/master' which can not be resolved as commit?
¿Por qué a Git no le gusta? Esto solía funcionar con el mismo repositorio.
git
git-checkout
marekful
fuente
fuente
origin/master
no es una ID de confirmación, es decir, que no es una rama remota válida. ¿Aparece en lagit branch -r
salida?Respuestas:
Extraño: necesitas revisar tus controles remotos:
Y asegúrese de
origin
obtenerlo:Luego:
(para ver si ha obtenido una
origin/master
rama)Finalmente, use en
git switch
lugar de lo confusogit checkout
, con Git 2.23+ (agosto de 2019).fuente
pull
y luego este comando funcionó..git
directorio estar de alguna manera corrupto?git remote -v
ejecuta en un repositorio de git.FWIW: Si tiene un error tipográfico en su nombre de sucursal, obtendrá este mismo error.
fuente
git checkout -b origin mybranch
lugar degit checkout -b mybranch
(extraorigin
)orgin/my-branch
lugar deorigin/my-branch
. Perdí unoi
y me rasqué la cabeza por un tiempo para entender por qué un viejo aliado se niega a llevarse bien. El error tipográfico fue el problema.Puede obtener este error en el contexto de, por ejemplo, una compilación de Travis que, de forma predeterminada, comprueba el código
git clone --depth=50 --branch=master
. Que yo sepa, puede controlar a--depth
través de,.travis.yml
pero no a través de--branch
. Como eso da como resultado que solo una rama sea rastreada por el control remoto, debe actualizar de forma independiente el control remoto para rastrear las referencias del control remoto deseado.Antes de:
La solución:
Después:
fuente
¡Esta cosa simple funcionó para mí!
Si dice que no puede hacer 2 cosas al mismo tiempo, sepárelas.
fuente
Podrías seguir estos pasos cuando te topes con este problema:
que produce esto:
Como puede ver, la nueva rama se ha obtenido desde el control remoto.
3. Finalmente, revisa la rama con este comando
No es necesario decirle explícitamente a Git que rastree (usando --track ) la rama con control remoto.
El comando anterior configurará la rama local para rastrear la rama remota desde el origen.
fuente
Si tiene espacio en blanco en su rama, obtendrá este error.
fuente
Para mí necesitaba agregar el control remoto:
entonces podría ir a buscar
fuente
Hace que su sucursal local no rastree la sucursal remota. Como dijo ssasi, debe usar estos comandos:
Resolví mi problema justo ahora ...
fuente
Primero necesita
Fetch
el control remoto (la rama específica), luego puede crear un br local y rastrearlo con esa rama remota usando su comando (es decir,checkout
con -b y --track).fuente
Debe ir al directorio de submódulos y ejecutar
git status
.Es posible que vea que se eliminaron muchos archivos. Puedes correr
git reset .
git checkout .
git fetch -p
git rm --cached submodules
// submoudles es tu nombregit submoudle add ....
fuente
Puede usar estos comandos: actualización remota de git, captación de git, verificación de git -b nombre_de_ rama A origen: nombre_de_ rama B
Creo que tal vez sea porque su sucursal local no puede rastrear la sucursal remota
fuente