tag - tipos de etiquetas existen en git
"No se pueden actualizar las rutas y cambiar a la bifurcaciĆ³n al mismo tiempo" (10)
''
origin/master
'' que no se puede resolver como commit
Extraño: necesitas verificar tus controles remotos:
git remote -v
Y asegúrese de buscar el origin
:
git fetch origin
Entonces:
git branch -avv
(para ver si ha buscado una rama de origin/master
)
A veces uso la opción checkout -b
para crear una nueva rama, verificarla al mismo tiempo y configurar el seguimiento en un comando.
En un nuevo entorno, obtengo 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.
¡Esto simple funcionó para mí!
Si dice que no puede hacer 2 cosas al mismo tiempo, sepárelas.
git branch branch_name origin/branch_name
git checkout branch_name
Causa que su sucursal local no rastree la sucursal remota. Como dijo Ssasi, necesitas usar estos comandos:
git remote update
git fetch
git checkout -b branch_nameA origin/branch_nameB
Resolví mi problema ahora ...
Deberías ir al directorio del submódulo y ejecutar el git status
.
Puede ver que se eliminaron muchos archivos. Puedes correr
git reset .
git checkout .
git fetch -p
git rm --cached submodules
// submoudles es tu nombregit submoudle add ....
FWIW: si tienes un error tipográfico en tu nombre de usuario, obtendrás el mismo error.
Para mí, necesitaba agregar el control remoto:
git remote -add myRemoteName(''origin'' in your case) remoteGitURL
entonces podría buscar
git fetch myRemoteName
Primero necesita obtener 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).
Puede obtener este error en el contexto de, por ejemplo, una compilación de Travis que, de forma predeterminada, verifica el código con git clone --depth=50 --branch=master
. Según mi leal saber y entender, puedes controlar --depth
través de .travis.yml
pero no de --branch
. Como eso da como resultado que solo una rama sea rastreada por el control remoto, necesita actualizar el control remoto de manera independiente para rastrear los refs del control remoto deseado.
Antes de:
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
La solución:
$ git remote set-branches --add origin branch-1
$ git remote set-branches --add origin branch-2
$ git fetch
Después:
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/branch-1
remotes/origin/branch-2
remotes/origin/master
Puede seguir estos pasos cuando tropiece con este problema:
- Ejecute el siguiente comando para enumerar las ramas conocidas para su repositorio local.
git remote show origen
que produce esto:
remote origin Fetch URL: <your_git_path> Push URL: <your_git_path> HEAD branch: development Remote branches: development tracked Feature2 tracked master tracked refs/remotes/origin/Feature1 stale (use ''git remote prune'' to remove) Local branches configured for ''git pull'': Feature2 merges with remote Feature2 development merges with remote development master merges with remote master Local refs configured for ''git push'': Feature2 pushes to Feature2 (up to date) development pushes to development (up to date) master pushes to master (local out of date)
- Después de verificar los detalles como (buscar URL, etc.), ejecute este comando para buscar cualquier nueva rama (es decir, que desee consultar en su repositorio local) que existe en el control remoto pero no en su ubicación local.
» git remote update Fetching origin From gitlab.domain.local:ProjectGroupName/ProjectName * [new branch] Feature3 -> Feature3
Como puede ver, la nueva rama se ha obtenido desde el control remoto.
3. Finalmente, revisa la rama con este comando
» git checkout -b Feature3 origin/Feature3 Branch Feature3 set up to track remote branch Feature3 from origin. Switched to a new branch ''Feature3''
No es necesario decirle explícitamente a Git que rastree (usando --track ) la rama con control remoto.
El comando anterior establecerá la rama local para rastrear la rama remota desde el origen.
Puedes usar estos comandos: git remote update, git fetch, git checkout -b branch_nameA origen: branch_nameB
Creo que tal vez sea porque su sucursal local no puede rastrear la sucursal remota