ver tipos tag repositorio que modificados etiquetas archivos actualizar git bitbucket git-bash

tipos - que es un repositorio git



No se puede enviar al repositorio de Git en Bitbucket (14)

Dos pequeñas aclaraciones que podrían salvar a alguien de la confusión que tuve:

1 - Las URL de conexión difieren para HTTPS y SSH

Cuando se conecta a través de https, usa

https://[email protected]/owner-account/repo-name.git

sin embargo, al conectarse a través de SSH, el nombre de la cuenta siempre es "git"

ssh://[email protected]/owner-account/repo-name.git

Intentar conectarse a SSH con el nombre de su cuenta al frente generará el error que recibió el póster original. Así es como puedes hacer la prueba de conexión a git @, luego, por error, intenta con tu nombre de usuario y ves un error.

2 - Las claves SSH a través de las cuentas del equipo quedarán obsoletas en 2017

Si está configurando claves SSH en las cuentas del equipo, recomiendan cambiarlas a cuentas personales. Un consejo útil para evitar e

Creé un nuevo repositorio y me encontré con un extraño error. He usado Git antes en Bitbucket, pero me reformateé y ahora parece que no puedo hacer que Git funcione. Después de hacer un commit, tuve que agregar mi correo electrónico y mi nombre a los globales, pero luego me comprometí perfectamente.

Cuando trato de usar el comando

git push origin master

no funciona Recibo este mensaje:

$ git push origin master Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

Estoy perdido aquí. Mi amigo con el que estoy compartiendo este repositorio, accedió bien y lo presionó, pero parece que no puedo hacerlo funcionar.


Encontré que la línea de comando de git no me gustaba las teclas generadas en el concurso (Windows 10).

Ver mi respuesta en Serverfault


Encontré que la solución que mejor funcionaba para mí era dividir el impulso en trozos más pequeños.

y eliminar los archivos de imagen de captura de pantalla grandes (10mb +) de los commits

La seguridad no era un problema al final más sobre los límites de los archivos bin


Escribiendo esto para los que acaban de empezar con Git y BitBucket en Windows y que no están tan familiarizados con Bash (ya que este es un problema común y un resultado de alto rango de Google al buscar el mensaje de error dentro de la pregunta).

Para aquellos a quienes no les importa HTTPS y que buscan una solución rápida, desplácese hasta el final de esta respuesta para obtener instrucciones en FOR THE LAZY.

Para aquellos que buscan resolver el problema real, siga las instrucciones a continuación:

Solucionando el problema de SSH lo más rápido posible

Este es un conjunto de instrucciones derivadas de la URL enlazada por VonC. Fue modificado para ser lo más resistente y sucinto posible.

  • No escriba $ ni ninguna línea que no comience con $ (el $ significa que esto es algo que escribe en GitBash).

  • Abra GitBash

Configure su información global si aún no lo ha hecho:

$ git config --global user.name "Your Name" $ git config --global user.email "[email protected]"

Compruebe si hay OpenSSH:

$ ssh -v localhost OpenSSH_4.6p1, OpenSSL...

Ver algo así?

  • Sí: Continuar.
  • No: vaya a la sección FOR THE LAZY o siga el artículo vinculado de VonC.

Vea si ya ha generado las claves:

$ ls -a ~/.ssh/id_*

Si hay dos directorios, puede omitir el siguiente paso.

$ ssh-keygen

Deje todo como los valores predeterminados, ingrese una frase de contraseña. Ahora debería ver los resultados con este comando:

$ ls -a ~/.ssh/id_*

Compruebe si hay un archivo de configuración existente:

$ ls -a ~/.ssh/config

Si obtiene un resultado, verifique este archivo para obtener información errónea. Si no existe ningún archivo, haga lo siguiente:

$ echo "Host bitbucket.org" >> ~/.ssh/config $ echo " IdentityFile ~/.ssh/id_rsa" >> ~/.ssh/config

Confirmar los contenidos:

$ cat ~/.ssh/config Host bitbucket.org IdentityFile ~/.ssh/id_rsa

  • El único espacio antes de "IdentityFile" es obligatorio.

Compruebe que está iniciando el agente SSH cada vez que ejecuta GitBash:

$ cat ~/.bashrc

  • Si ve una función llamada start_agent , este paso ya se ha completado.
  • Si no hay archivo, continúa.
  • Si hay un archivo que no contiene esta función, estás en una situación difícil. Probablemente sea seguro agregarlo (usando las instrucciones a continuación) ¡pero puede que no sea así! Si no está seguro, haga una copia de seguridad de su .bashrc antes de seguir las instrucciones a continuación o salte a la sección FOR FOR LAZY .

Ingrese lo siguiente en GitBash para crear su archivo .bashrc:

$ echo "SSH_ENV=$HOME/.ssh/environment" >> ~/.bashrc $ echo "" >> ~/.bashrc $ echo "# start the ssh-agent" >> ~/.bashrc $ echo "function start_agent {" >> ~/.bashrc $ echo " echo /"Initializing new SSH agent.../"" >> ~/.bashrc $ echo " # spawn ssh-agent" >> ~/.bashrc $ echo " /usr/bin/ssh-agent | sed ''s/^echo/#echo/'' > /"/${SSH_ENV}/"" >> ~/.bashrc $ echo " echo succeeded" >> ~/.bashrc $ echo " chmod 600 /"/${SSH_ENV}/"" >> ~/.bashrc $ echo " . /"/${SSH_ENV}/" > /dev/null" >> ~/.bashrc $ echo " /usr/bin/ssh-add" >> ~/.bashrc $ echo "}" >> ~/.bashrc $ echo "" >> ~/.bashrc $ echo "if [ -f /"/${SSH_ENV}/" ]; then" >> ~/.bashrc $ echo " . /"/${SSH_ENV}/" > /dev/null" >> ~/.bashrc $ echo " ps -ef | grep /${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {" >> ~/.bashrc $ echo " start_agent;" >> ~/.bashrc $ echo " }" >> ~/.bashrc $ echo "else" >> ~/.bashrc $ echo " start_agent;" >> ~/.bashrc $ echo "fi" >> ~/.bashrc

Verifique que el archivo se haya creado correctamente (el suyo solo debe diferir donde aparece "yourusername"):

$ cat ~/.bashrc SSH_ENV=/c/Users/yourusername/.ssh/environment # start the ssh-agent function start_agent { echo "Initializing new SSH agent..." # spawn ssh-agent /usr/bin/ssh-agent | sed ''s/^echo/#echo/'' > "${SSH_ENV}" echo succeeded chmod 600 "${SSH_ENV}" . "${SSH_ENV}" > /dev/null /usr/bin/ssh-add } if [ -f "${SSH_ENV}" ]; then . "${SSH_ENV}" > /dev/null ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || { start_agent; } else start_agent; fi

  • Cierre GitBash y vuelva a abrirlo.
  • Debería pedírsele su contraseña (para el archivo SSH que generó anteriormente).
  • Si no hay un aviso, o bien no estableció una frase de contraseña o GitBash no está ejecutando el script .bashrc (que sería extraño, así que considere revisar el contenido del mismo!). Si está ejecutando esto en una Mac (OS X), .bashrc no se ejecuta de manera predeterminada - .bash_profile is. Para solucionar esto, coloque este fragmento en su .bash_profile : [[ -s ~/.bashrc ]] && source ~/.bashrc

Si no ingresó una frase de contraseña, habría visto algo como esto al iniciar GitBash:

Initializing new SSH agent... succeeded Identity added: /c/Users/yourusername/.ssh/id_rsa (/c/Users/yourusername/.ssh/id_rsa)

Y lo siguiente debería devolver los resultados:

$ ssh-add -l

Sin embargo, si obtiene lo siguiente de ssh-add -l :

Could not open a connection to your authentication agent.

No generó el agente SSH y es probable que tu .bashrc sea la causa.

Si al iniciar GitBash, ves esto:

Initializing new SSH agent... sh.exe": : No such file or directory

Eso significa que olvidó escapar del $ con un / cuando hizo eco en el archivo (es decir, las variables se expandieron). Vuelva a crear su .bashrc para resolver esto.

Verifique que el agente se está ejecutando y sus claves se han agregado:

$ ssh-add -l

Debería devolver algo similar a esto:

2048 0f:37:21:af:1b:31:d5:cd:65:58:b2:68:4a:ba:a2:46 /Users/yourusername/.ssh/id_rsa (RSA)

Ejecute el siguiente comando para obtener su clave pública:

$ cat ~/.ssh/id_rsa.pub

(debe devolver algo que empiece con "ssh-rsa ......"

  • Haga clic en el icono de la ventana de GitBash
  • Haga clic en Editar
  • Click Mark
  • Resalte la clave pública con el mouse (incluido el bit ssh-rsa y el final == [email protected] )
  • Haga clic con el botón derecho en la ventana (realiza una copia)
  • Pega tu clave pública en el Bloc de notas.
  • Elimine todas las líneas nuevas de modo que sea solo una línea.
  • Presione CTRL+A luego CTRL+C para copiar nuevamente la clave pública en su portapapeles.

Configure su clave privada con BitBucket siguiendo los siguientes pasos:

  • Abra su navegador y navegue hasta el sitio BitBucket.org
  • Inicie sesión en BitBucket.org
  • Haz clic en tu avatar (arriba a la derecha)
  • Haga clic en Administrar cuenta
  • Haga clic en Teclas SSH (en Seguridad en el menú de la izquierda)
  • Haga clic en Agregar clave
  • Ingrese Global Public Key para la etiqueta
  • Pega la clave pública que copiaste del Bloc de notas

Una entrada de Global Public Key ahora debería estar visible en su lista de claves.

  • Regrese a GitBash
  • cd en el directorio que contiene su proyecto
  • Cambie su origen a la variación SSH (no será si ejecutó los pasos FOR THE LAZY )

Verifica tus controles remotos:

$ git remote -v

Cambia a la url SSH:

$ git remote set-url origin [email protected]:youraccount/yourproject.git

Verifique que las cosas funcionen:

$ git remote show origin

Debería ver algo como esto:

Warning: Permanently added the RSA host key for IP address ''...'' to the list of known hosts. * remote origin Fetch URL: [email protected]:youruser/yourproject.git Push URL: [email protected]:youruser/yourproject.git HEAD branch: master Remote branch: master tracked Local ref configured for ''git push'': master pushes to master (fast-forwardable)

¡HECHO!

Puede optar por usar HTTPS en lugar de SSH. Te solicitará que ingreses tu contraseña durante las operaciones remotas (se almacena temporalmente en caché una vez que la escribes). Aquí se muestra cómo puede configurar HTTPS:

PARA LOS DESTACADOS

Debería solucionar el problema de SSH como lo describe VonC; Sin embargo, si tiene prisa por comprometerse y no tiene las herramientas / tiempo / conocimiento para generar una nueva clave pública en este momento , establezca su origen en la alternativa HTTPS:

> https://[email protected]/accountname/reponame.git

Usando una herramienta GUI como TortoiseGit o herramientas de línea de comandos .

Aquí está la documentación de esta URL de origen alternativa.

Línea de comando para agregar un origen si no existe:

git remote add origin https://[email protected]/accountname/reponame.git

Línea de comando para cambiar un origen existente:

git remote set-url origin https://[email protected]/accountname/reponame.git

NOTA: el nombre de su cuenta no es su correo electrónico.

Es posible que también desee establecer su información global:

git config --global user.name "Your Name" git config --global user.email "[email protected]"

Luego prueba tu push nuevamente (no es necesario volver a realizar commit)

git push origin master


Este error también aparece cuando el repositorio no existe. Intenté todas las respuestas hasta que vi que faltaba una raya en el nombre del repositorio


Este error también ocurre si olvidó agregar la clave privada a ssh-agent . Haz esto con:

ssh-add ~/.ssh/id_rsa


Lo resolví quitando el control remoto usando el comando:

git remote remove origin

y luego intenté agregar control remoto usando https url en lugar de ssh

git remote add origin httpsUrl

Pide credenciales github. Ingrese las credenciales y luego intente presionar git usando:

git push origin master


Obtuve el mismo error para un repositorio; de repente, todos los demás funcionaron y siguen funcionando bien cuando intento enviar commits. El problema parecía ser con la clave SSH (como ya sabe por los comentarios anteriores) - en bitbucket vaya a View Profile luego haga clic en Manage Account .

En el lado izquierdo, haga clic en las SSH Keys luego agregue la que tiene en su sistema bajo el directorio ~ / .ssh /.

Si aún no tiene uno generado, use las instrucciones de una de las publicaciones, pero asegúrese de usar el archivo id_dsa.pub predeterminado o el nombre personalizado, y luego requerir la opción -i con la ruta a la clave. cuando te conectas es decir

ssh -i ~/.ssh/customkeyname username@ip_address

Una vez que haya agregado su clave local a su cuenta en bitbucket, podrá comenzar a interactuar con su repositorio.


Para errores:

[error] acceso al repositorio denegado. el acceso a través de una clave de despliegue es de solo lectura. fatal: no se pudo leer desde el repositorio remoto. Por favor, asegúrese de tener los derechos de acceso correctos y existe el repositorio.

[error] fatal: no se pudo leer desde el repositorio remoto.

[error] fatal: no se puede encontrar el ayudante remoto para ''https''

Lo resolví siguiendo estos pasos:

Primero instala estas dependencias:

$ yum install expat expat-devel openssl openssl-devel

A continuación, elimine git:

$ yum remove git git-all

Ahora compila e instala Git en la última versión, en este caso:

$ wget https://github.com/git/git/archive/v2.13.0.tar.gz $ tar zxf v.2.13.0.tar.gz $ cd git-2.13.0/

Luego para la configuración:

$ make configure $ ./configure --with-expat --with-openssl

Y finalmente instalar así:

$ make $ make install install-doc install-html install-info

eso es todo, ahora configura tu repositorio con https:

$ git remote add origin https://github.com/*user*/*repo*.git # Verify new remote $ git remote -v

si ha configurado una clave ssh en su servidor remoto, debe eliminarla.


Recibí este error

La conexión a bitbucket.org está cerrada por un host remoto. fatal: no se pudo leer desde el repositorio remoto. Por favor, asegúrese de tener los derechos de acceso correctos.

Entonces probé

git config --global usuario.email "[email protected]"

trabajado sin comillas



Si está utilizando SourceTree (estoy usando 2.4.1), encontré una manera más simple de generar una clave SSH y agregarla a mi configuración de Bitbucket. Esto resolvió mi problema.

  1. En SourceTree, vaya a Preferencias.
  2. Ve a la pestaña Cuentas y selecciona tu cuenta.
  3. Debería haber una opción para generar y copiar una clave SSH al portapapeles.
  4. Una vez que haya copiado eso, vaya a Bitbucket en su navegador. Ir a [avatar] -> configuración de Bitbucket.
  5. Ve a las teclas SSH.
  6. Haga clic en Agregar clave
  7. Pega la clave que copiaste.

Recibí un correo electrónico de confirmación de Bitbucket que decía que se había agregado una clave SSH a mi cuenta.

Como referencia, en macOS, usando Terminal, puede usar el siguiente comando para ver las claves generadas para su dispositivo. Aquí es donde se almacena la clave que generó.

ls -la ~/.ssh

Como otros han declarado, esta documentación me ayudó: utilizar el protocolo SSH con la nube Bitbucket



Yo tuve el mismo problema. Mis llaves SSH fueron configuradas correctamente. Arreglé este problema así.

Después de crear un nuevo proyecto en Bitbucket, use clone. Ingrese el comando de clonación en la terminal y debe clonar el proyecto vacío en su computadora. Después de eso, puede copiar sus archivos a este directorio y comenzar a enviar y enviar bitbucket.