repositorio remota rama origin crear clonar cambiar and actualizar git

remota - git pull origin master



Git: no se puede verificar la rama-error: pathspec ''...'' no coincide con ningún archivo conocido por git (30)

No estoy seguro de por qué no puedo retirar una sucursal en la que había trabajado anteriormente. Vea los comandos a continuación (nota: co es un alias para checkout ):

ramon@ramon-desktop:~/source/unstilted$ git branch -a * develop feature/datts_right feature/user_controlled_menu feature/user_controlled_site_layouts master remotes/origin/HEAD -> origin/master remotes/origin/develop remotes/origin/feature/datts_right remotes/origin/master ramon@ramon-desktop:~/source/unstilted$ git co feature/user_controlled_site_layouts error: pathspec ''feature/user_controlled_site_layouts'' did not match any file(s) known to git.

No estoy seguro de lo que significa, y parece que no puedo encontrar nada que pueda entender en Google.

¿Cómo pago esa rama, y ​​qué puedo haber hecho para romper esto?

ACTUALIZACIÓN :

Encontré esta publicación , y ejecutar git show-ref me da:

97e2cb33914e763ff92bbe38531d3fd02408da46 refs/heads/develop c438c439c66da3f2356d2449505c073549b221c1 refs/heads/feature/datts_right 11a90dae8897ceed318700b9af3019f4b4dceb1e refs/heads/feature/user_controlled_menu c889b37a5ee690986935c9c74b71999e2cf3c6d7 refs/heads/master c889b37a5ee690986935c9c74b71999e2cf3c6d7 refs/remotes/origin/HEAD e7c17eb40610505eea4e6687e4572191216ad4c6 refs/remotes/origin/develop c438c439c66da3f2356d2449505c073549b221c1 refs/remotes/origin/feature/datts_right c889b37a5ee690986935c9c74b71999e2cf3c6d7 refs/remotes/origin/master 23768aa5425cbf29d10ff24274adad42d90d15cc refs/stash e572cf91e95da03f04a5e51820f58a7306ce01de refs/tags/menu_shows_published_only 429ebaa895d9d41d835a34da72676caa75902e3d refs/tags/slow_dev

ACTUALIZACIÓN en .git directorio .git ( user_controlled_site_layouts encuentra en la refs/heads/feature folder user_controlled_site_layouts refs/heads/feature folder ):

$ ls .git/refs/heads/feature/ datts_right user_controlled_menu user_controlled_site_layouts $ cat .git/refs/heads/feature/user_controlled_site_layouts 3af84fcf1508c44013844dcd0998a14e61455034

ACTUALIZACIÓN en git show 3af84fcf1508c44013844dcd0998a14e61455034

$ git show 3af84fcf1508c44013844dcd0998a14e61455034 commit 3af84fcf1508c44013844dcd0998a14e61455034 Author: Ramon Tayag <[email protected]> Date: Thu May 12 19:00:03 2011 +0800 Removed site layouts migration diff --git a/db/schema.rb b/db/schema.rb index 1218fc8..2040b9f 100755 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It''s strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20110511012647) do +ActiveRecord::Schema.define(:version => 20110503040056) do create_table "attachments", :force => true do |t| t.string "name" @@ -205,15 +205,6 @@ ActiveRecord::Schema.define(:version => 20110511012647) do t.integer "old_id" end - create_table "site_layouts", :force => true do |t| - t.string "name" - t.text "description" - t.text "content" - t.integer "site_id" - t.datetime "created_at" - t.datetime "updated_at" - end - create_table "site_styles", :force => true do |t| t.text "published" t.datetime "created_at"


Cometí un error tonto de no proporcionar la marca -m al cometer (sucede lol)

git commit -m "commit message in here"


Conseguí esto cuando hice lo siguiente:

  • IntelliJ IDE usado, conectado a git
  • Crea un nuevo archivo, y añadido a git
  • Renombrado el nuevo archivo

Cuando intenté verificar en el directorio, recibí este error.

Arreglar:

Abrí el repositorio en extensiones de git. Vi que el archivo (con el nombre antiguo) estaba en escena. Pero como ya no existía, no podía comprometerse.

Simplemente desestabilizé este archivo.

Luego volví a agregar el archivo (esta vez con el nombre correcto) en git y lo confirmé sin errores.


En el sistema operativo Windows por defecto, git se instala con

/yourLocalRepo> git config core.ignorecase false

Esto significa que los archivos de git repo no serán sensibles a mayúsculas, para cambiar esto necesita ejecutar:

git pull

Puede encontrar esta configuración en el archivo .git / config .


En mi caso entro al directorio de submódulos sin hacer.

  • git submodule init
  • git submodule update

Así que git estaba vinculado a la carpeta principal que de hecho perdió esa rama.


En mi caso tengo DOS rama 1) maestra (que es para el servidor en vivo) 2) dev (servidor de prueba). Había configurado el control remoto múltiple para insertar código en el servidor respectivo. Cuando traté de cambiar de rama, obtuve el error como error: pathspec ''master'' did not match any file(s) known to git.

Puedes verlos por git remote -v . Había eliminado otro remoto, a excepción del origin remoto, con git remote remove <remote-name>

Entonces git fetch

Ahora puedo verificar la rama por git checkout <branch-name> .


En mi caso, ejecuté "git fetch" antes de "git branch ...:, pero obtuve el mismo error. Luego lo analicé y encontré un error en el nombre de mi sucursal . Lo arreglé y cambié a la sucursal correctamente.


En mi caso, había cambiado el nombre de un archivo cambiando el caso del archivo, es decir, SomeFile.js -> someFile.js

Creo que eso estaba relacionado con el problema. Hacer un git fetch no solucionó el problema.

Saqué los archivos de mi proyecto, realicé una búsqueda y realicé un empujón sin ellos. Luego hice una búsqueda, los agregué, e hice un empujón, y funcionó. No sé si todos esos pasos fueron necesarios, pero finalmente funcionó.


Encontré este mismo problema cuando estaba jugando por primera vez con git. Al intentar mi primer commit ...

git commit -m ''first commit!''

Me llegó el error mencionado por el OP ...

error: pathspec ''commit!'''' did not match any file(s) known to git.

Pensé que podría haber estado confundiendo a git usando una palabra clave en el mensaje de confirmación, así que intenté algunas otras palabras y recibí el mismo error.

Finalmente utilicé comillas dobles en el mensaje ...

git commit -m "first commit!"

Esto resultó ser exitoso ...

[master (root commit) 0000000] first commit! 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 dummyDoc.txt


Estaba recibiendo el mismo pathspec error en git-bash. Utilicé Tortoise Git en Windows para cambiar / revisar la sucursal.


Esto puede ser causado cuando la corriente ascendente reescribe el historial.

Cuando esto sucede, lanzo todos los repositorios afectados, los clono de forma ascendente, y uso ''git format-patch'' / ''git am'' para transportar cualquier trabajo en progreso del viejo mundo al nuevo.


Me enfrenté a este problema la última vez, y lo que he hecho es eliminar la carpeta (o el código fuente) relacionada con esa rama.

Ejemplo: el origen de la rama / foo create folder foo en su local, así que simplemente lo elimino y uso git fetch $ checkout para recuperar el código del control remoto.

O puede hacerlo creando una carpeta en el mismo local que la sucursal que desea pagar.

Ej: crear una carpeta foo en local, después de eso, use el comando Git: git branch --set-upstream-to=origin/foo foo , eso es todo. Utilice git pull para obtener el código.


Me enfrenté a un problema similar. Lo que me llevó a este problema fue: tuve varias sucursales remotas y eliminé la carpeta que tenía el código. Hice un tirón. :

git pull [email protected]......

Luego agregué repositorio remoto:

git remote add upstream [email protected].......

Luego intenté cambiar de sucursal a otra, digamos AAAA y obtuve un error.

error: pathspec ''AAAA'' did not match any file(s) known to git.

Después de pasar una hora encontré una solución. He eliminado la carpeta de origen de nuevo. Entonces hice un tirón git:

git pull [email protected]......

Luego cambié de rama antes de vincularlo al repositorio remoto:

git checkout AAA

Luego lo agregué al repositorio remoto

git remote add upstream [email protected]......

Después de esto puedo cambiar ramas fácilmente. Aunque esta no es una forma estándar, pero me funcionó después de que probé todas las opciones anteriores.


Me pasó después de cambiar el nombre de un archivo no confirmado en Android Studio.

Git parecía tener la versión antigua en su repositorio, incluso si ya no existía.

fetch, pull, checkout, add all and so on did not help in my case!

Así que abrí la interfaz gráfica de Git de TortoiseGit que me mostró el archivo exacto que causó problemas.

Después borré el archivo del repositorio con

git rm -r --cached /path/to/affected/file

y el problema se fue


Ninguna de estas respuestas resolvió mi problema:

Nikolai@CALIGARI-7 ~/Documents/NetBeansProjects/Version (master) $ git log --format=oneline b9cc6a9078312865280fb5432a43e17eff03a5c6 Formatted README 288772f36befe6bd60dd41b8185f1e24e0119668 Updated README documentation d2bdbe18f4169358d46fad50eacfb89786df3bf8 Version object v3.0.0-SNAPSHOT a46b1910a3f548b4fa254a6055d25f68d3f217dd VersionFactory is now Platform agnostic 24179ae569ec7bd28311389c0a7a85ea7b4f9594 Added internal.Platform abstraction 252b684417cf4edd71aed43a15da2c8a59c629a7 Added IPlugin implementation for Sponge e3f8d21d6cf61ee4fc806791689c984c149b45e3 Added IPlugin implementation for Bukkit aeb403914310b4b10dee9e980cf64472e2bfda79 Refactored Version.java ef50efcff700c6438d57f70fac30846de2747a7e Refactored TesterFactory a20808065878d4d28657ae362235c837cfa8e625 Added IPlugin abstraction 9712a3575a70060d7ecea8b62bb5e888fdc32d07 Heavily refactored Tester 02d025788ae740dbfe3ef76a132cea8ca4e47467 Added generic Predicate<T> interface 9c565777abea9be6767dfdab4ab94ed1173750dd Minor refactoring of testCompareTo() 2ff2a28c221681e256dcff28770782736d3a796a Version object v2.0.1 d4b2e2bd830f77cdbc2297112c2e46b6555d4393 Fix compareTo() 05fe7e012b07d1a5b8de29804f96d9a6b24229a1 Make compareTo() fail 6e85371414357a41c1fc0cec0e75adba92f96832 Fix VersionFactory passing null c1fd1f032f87d860d5ed9d6f6679c9fa522cff8d Version object v2.0 62c3a92c008a2ed11f0a4d016080afc3541d0700 Version object v1.2 c42e9e617128085e872c51b4d977a04e48d69e8f Deprecated, doc''d, future-proofed getNm Nikolai@CALIGARI-7 ~/Documents/NetBeansProjects/Version (master) $ git checkout 3a796a error: pathspec ''3a796a'' did not match any file(s) known to git.

Estaba intentando volver y compilar la confirmación para el Version object v2.0.1 . ¡Por suerte, tuve la idea de probar todo el código hash y funcionó! Lo que significa que estaba usando el extremo incorrecto del código hash.

Nikolai@CALIGARI-7 ~/Documents/NetBeansProjects/Version (master) $ git checkout 2ff2a Note: checking out ''2ff2a''. You are in ''detached HEAD'' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b new_branch_name HEAD is now at 2ff2a28... Version object v2.0.1 Nikolai@CALIGARI-7 ~/Documents/NetBeansProjects/Version ((2ff2a28...)) $

Como se muestra arriba, para códigos hash parciales, debe suministrar el front-end, no el back-end.


Primero, verifique la rama principal. Luego escriba

git fetch --all --prune git checkout <your branch>

¡Espero eso ayude!.


Prueba git fetch para que tu repositorio local obtenga toda la información nueva de github. Solo toma la información sobre nuevas sucursales y ningún código real. Después de eso el git checkout debería funcionar bien.


Recibí el siguiente error cuando intenté comprar una nueva sucursal

error: pathspec ''BRANCH-NAME'' no coincide con ningún archivo conocido por git.

Cuando probé git checkout origin/<BRANCH-NAME> fue a HEAD extraído

(separado de origen /)

Hizo lo siguiente para resolver el problema.

git remote update git fetch git checkout --track origin/<BRANCH-NAME>


Recibí este error para una rama que era remota y no tenía una rama de seguimiento local. Aunque estoy seguro de que he comprobado las sucursales remotas a través de un simple

git checkout feature/foo

en el pasado, para evitar este error tuve que

git checkout -t -b feature/foo origin/feature/foo

Tampoco tengo idea de lo que hice para meterme en esa situación.


Si el nombre de la rama y no tiene ningún archivo no confirmado, intente esto

git fetch && git checkout <branch name>


Si eliminó una rama con git branch -D yourbranchname y extrajo / clonó nuevamente su repositorio, es posible que deba crear su sucursal local nuevamente.

Tratar:

git checkout -b yourbranchname


Si sucede en Windows, es probable que sea el problema del caso del nombre de archivo.

Hoy tuve este error: creé un nuevo archivo, lo agregué a GIT, luego cambié una letra en el nombre de archivo de abajo a arriba y luego no pude hacer nada: confirmar, revertir, eliminar el archivo del repositorio.

La única solución que encontré fue cambiar el nombre de archivo nuevamente al mismo caso exacto cuando agregué este archivo a GIT, luego hacer GIT para eliminar este archivo de GIT, y luego cambiar el nombre de archivo nuevamente cuando lo desee. Después de esos cambios, podría comprometerme a repo y luego presionar sin ningún problema.


Tengo las mismas preguntas y obtuve información de este enlace: git fetch no recupera todas las sucursales

Así que ahora, puede que no esté seguro de cómo sucedió esta situación, al menos podemos resolverlo:

Paso 1. Comprueba tu configuración de "remote.origin.fetch", debería ser así

$ git config --get remote.origin.fetch

+ refs / heads / private_dev_branch: refs / remotes / origin / private_dev_branch

Paso 2. Cambia "remote.origin.fetch" para buscar todo

$ git config remote.origin.fetch "+ refs / heads / *: refs / remotes / origin / *"

$ git config --get remote.origin.fetch

+ refs / heads / *: refs / remotes / origin / *

Luego, puedes probar "git pull" (tal vez "git fetch origin" también funciona, pero no lo intenté) para obtener toda la rama.


Tuve el mismo problema ... Pensé que tenía una sucursal llamada foo cuando intento:

git checkout foo

Yo estaba consiguiendo:

error: pathspec ''foo'' did not match any file(s) known to git.

Entonces probé el nombre completo de la rama:

git checkout feature/foo

luego trabajé para mí.


Tuve el mismo problema porque usé el git clone --depth=1 , lo que implica --single-branch .

Hacer un git clone completado lo arreglará.


Tuve este problema al trabajar con Git en Windows. En mi caso, fue un problema de caso. Ya había agregado y confirmado un archivo en mi repositorio y luego cambié solo su caso. Para resolver el problema, cambié el nombre del archivo para que coincida con el caso original y lo renombré nuevamente con el comando git mv . Aparentemente, esto le permite a git rastrear el cambio de nombre.

Nota: yo estaba usando Cygwin.


Tuve este problema hoy. Estaba intentando git checkout foo y obtuve un error: pathspec ''foo'' did not match any file(s) known to git.

Resulta que estaba en el repo equivocado . Así que aprendí la lección: comprueba qué repo estás viendo antes de volverte loco.


Una posible razón, si está trabajando en Windows con MINGW *

ISSUE

Marque el nombre de la rama que desea verificar. Las ventanas omiten el carácter '' del nombre de la rama mientras se analiza el comando.

por ejemplo: si tiene un nombre de rama como bugfix/some-''branch''-name

Cuando emita el comando: > git checkout bugfix/some-''branch''-name , lo analizará como bugfix/some-branch-name , observe que omite '' carácter.

REMEDY

Para verificar este tipo de nombre de rama, agregue un carácter de escape al emitir el comando.

Escribe: > git checkout bugfix/some-/'branch/'-name

¡Entonces debería funcionar!


--icase-pathspecs cuidado con los usuarios de Windows de Git, sin la --icase-pathspecs o GIT_ICASE_PATHSPECS = 1 env var , que git pathspecs distinguirá entre mayúsculas y minúsculas, en cuyo caso

git checkout origin/FooBranch "Some/Path/To/File.txt"

no es lo mismo que

git checkout origin/FooBranch "some/path/to/file.Txt"


Para mi fue un problema con mis credenciales.

Después de probar la respuesta, uno de ellos me ayudó a resolver el problema:

Ejecutar git fetch arrojó el siguiente error:

No se pudo resolver el host: bitbucket.org

Todo lo que tenía que hacer era obligar a mi IDE (Código VS en mi caso) a recordar mis credenciales:

git config --global credential.helper wincred

Git sincronizó de inmediato todos los cambios, y git checkout <branche> funciona bien ahora!


core.ignorecase = true

Eso simplemente lo arregló para mí :)