Almacén remoto $ git remoto agregar origen https://github.com/wu347771769/learngit.git

Enlace original : https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001374385852170d9c7adf13c30429b9660d0eb689dd43a000

Hasta ahora, hemos dominado cómo viajar en el tiempo un archivo en el repositorio de Git, y ya no tiene que preocuparse por la copia de seguridad o la pérdida de archivos.

Sin embargo, los zapatos de los niños que han usado el sistema de control de versiones centralizado SVN se pondrán de pie y dirán que estas funciones ya están disponibles en SVN, y no veo qué tiene de especial Git.

Así es, si solo administra el historial de archivos en un almacén, Git y SVN son realmente lo mismo. Para asegurarse de que el Git que está aprendiendo ahora valga la pena, nunca se arrepentirá en el futuro. Al mismo tiempo, para combatir a los niños que desafortunadamente aprendieron SVN, este capítulo comienza a presentar uno de los asesinos características de Git (tenga en cuenta que es una de las características principales). Hay dos, tres ......): almacén remoto.

Git es un sistema de control de versiones distribuido. El mismo repositorio de Git se puede distribuir a diferentes máquinas. ¿Cómo distribuirlo? Al principio, debe haber solo una máquina con una biblioteca de versión original. Después de eso, otras máquinas pueden "clonar" esta biblioteca de versión original, y la biblioteca de versión de cada máquina es en realidad la misma, y ​​no hay distinción entre primaria y secundaria. .

Definitivamente pensarás que necesitas al menos dos máquinas para reproducir la biblioteca remota, ¿verdad? Pero solo tengo una computadora, ¿cómo se juega?

De hecho, se pueden clonar varias bibliotecas de versiones en una computadora, siempre que no estén en el mismo directorio. Sin embargo, en la vida real, nadie sería tan estúpido para jugar con varias bibliotecas remotas en una computadora, porque no tiene ningún sentido tener varias bibliotecas remotas en una computadora, y un disco duro colgado hará que todas las bibliotecas se cuelguen. Así que no te diré cómo clonar varios almacenes en una computadora.

La situación real suele ser así. Busque una computadora que actúe como servidor y enciéndala las 24 horas del día. Todos los demás clonan una copia de este almacén "servidor" en su propia computadora y envían sus respectivos envíos al almacén del servidor. ., También extrae los envíos de otras personas del almacén del servidor.

Puede construir un servidor que ejecute Git usted mismo, pero en esta etapa, configurar un servidor primero para aprender Git es definitivamente un alboroto. Afortunadamente, hay un sitio web mágico llamado GitHub en este mundo. Se puede ver por el nombre que este sitio web proporciona servicios de alojamiento de almacén de Git. Por lo tanto, siempre que registre una cuenta de GitHub, puede obtener un almacén remoto de Git de forma gratuita.

Antes de continuar leyendo el contenido de seguimiento, registre su propia cuenta de GitHub. Dado que la transmisión entre su repositorio de Git local y el repositorio de GitHub está cifrada a través de SSH, se requiere un poco de configuración:

Paso 1: Cree la clave SSH. En el directorio de inicio del usuario, vea si hay un directorio .ssh, si es así, luego vea si hay id_rsay id_rsa.pubestos dos archivos en este directorio. Si ya los hay , puede pasar al siguiente paso. De lo contrario, abra Shell (abra Git Bash en Windows) y cree la clave SSH:

$ ssh-keygen -t rsa -C "[email protected]"

Debe cambiar la dirección de correo electrónico a su propia dirección de correo electrónico, luego presione Intro hasta el final y use el valor predeterminado. Dado que esta clave no se usa con fines militares, no es necesario establecer una contraseña.

Si todo va bien, se puede encontrar en el directorio de inicio del usuario en el .sshdirectorio, hay id_rsay id_rsa.pubdos documentos, ambas Clave SSH es un par de claves secretas, id_rsauna clave privada no se puede filtrar, id_rsa.pubes la clave pública, puede decírselo a cualquiera con seguridad.

Paso 2: Inicie sesión en GitHub, abra la página "Configuración de la cuenta", "Claves SSH":

Luego, haga clic en "Agregar clave SSH", complete cualquier título y pegue id_rsa.pubel contenido del archivo en el cuadro de texto Clave :

Haga clic en "Agregar clave" y debería ver la clave agregada:

 

¿Por qué GitHub necesita una clave SSH? Debido a que GitHub necesita reconocer que la confirmación que presionó fue efectivamente impulsada por usted, no por otra persona, y Git admite el protocolo SSH, por lo que siempre que GitHub conozca su clave pública, puede confirmar que solo usted puede presionar.

Por supuesto, GitHub te permite agregar varias claves. Suponiendo que tiene varias computadoras, lo envía a la empresa por un tiempo y lo envía en casa por un tiempo. Siempre que agregue la clave de cada computadora a GitHub, puede enviarla a GitHub en cada computadora.

Finalmente, un recordatorio amistoso, el repositorio de Git alojado de forma gratuita en GitHub puede ser visto por cualquier persona (pero solo usted puede cambiarlo). Por lo tanto, no incluya información confidencial.

Si no desea que otros vean el repositorio de Git, hay dos formas: una es pagar una tarifa de protección y dejar que GitHub haga que el repositorio público sea privado, para que otros no lo vean (ilegible y no escribible). Otra forma es hacerlo usted mismo y configurar un servidor Git. Debido a que es su propio servidor Git, es invisible para los demás. Este método, del que hablaremos más adelante, es bastante sencillo y es imprescindible para el desarrollo interno de la empresa.

Después de asegurarnos de que tiene una cuenta de GitHub, estamos a punto de comenzar a conocer los almacenes remotos.

La situación actual es que después de haber creado un repositorio de Git localmente, desea crear un repositorio de Git en GitHub y sincronizar los dos repositorios de forma remota. De esta manera, el repositorio en GitHub se puede usar como respaldo u otras personas colaboran a través de este almacén, y es una multitud de cosas.

Primero, inicie sesión en GitHub y luego busque el botón "Nuevo repositorio" en la esquina superior derecha para crear un nuevo repositorio:

Complete el nombre del repositorio learngit, mantenga las demás configuraciones predeterminadas y haga clic en el botón "Crear repositorio" para crear con éxito un nuevo repositorio de Git:

En la actualidad, el learngitalmacén de GitHub todavía está vacío. GitHub nos dijo que podemos clonar un nuevo almacén de este almacén, o asociar un almacén local existente con él, y luego enviar el contenido del almacén local al almacén de GitHub.

Ahora, de acuerdo con el indicador de GitHub, learngitejecute el comando en el almacén local :

$ git remote add origin https://github.com/wu347771769/learngit.git

Asegúrese de wu347771769reemplazar lo anterior con su propio nombre de cuenta de GitHub; de lo contrario, asociará mi biblioteca remota localmente, no hay ningún problema con la asociación, pero no podrá subirla en el futuro, porque su clave SSH public La clave no está en mi lista de cuentas.

Después de agregar, el nombre de la biblioteca remota es origin. Este es el nombre predeterminado de Git, y se puede cambiar a otro, pero originel nombre es una biblioteca remota a primera vista.

En el siguiente paso, puede enviar todo el contenido de la biblioteca local a la biblioteca remota. Preste atención a ingresar el nombre de usuario y la contraseña de github:

$ git push -u origin master
Username for 'https://github.com': wu347771769
Password for 'https://[email protected]': 
Counting objects: 23, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (17/17), done.
Writing objects: 100% (23/23), 2.14 KiB | 1.07 MiB/s, done.
Total 23 (delta 5), reused 0 (delta 0)
remote: Resolving deltas: 100% (5/5), done.
To https://github.com/wu347771769/learngit.git
 * [new branch]      master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

Empuje el contenido de la biblioteca local al control remoto, utilizando git pushcomandos, en realidad masterempuje la rama actual al control remoto.

Dado que la biblioteca remota está vacía, cuando presionamos la masterrama por primera vez, agregamos -uparámetros. Git no solo enviará el mastercontenido de la rama local a la nueva masterrama remota , sino que también asociará la masterrama local con la masterrama remota . En el futuro Puede simplificar el comando cuando empuja o tira

Una vez que la inserción es exitosa, puede ver inmediatamente en la página de GitHub que el contenido de la biblioteca remota es exactamente el mismo que el local.

A partir de ahora, siempre que se realice el envío local, puede usar el comando:

$ git push origin master

masterEnvíe los últimos cambios de la rama local a GitHub, ¡y ahora tiene un repositorio distribuido real!

Advertencia de SSH

Cuando te conectes a GitHub usando Git cloneo pushcomandos por primera vez , recibirás una advertencia:

The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established.
RSA key fingerprint is xx.xx.xx.xx.xx.
Are you sure you want to continue connecting (yes/no)?

Esto se debe a que Git usa una conexión SSH, y cuando la conexión SSH verifica la clave del servidor GitHub por primera vez, debe confirmar si la información de la huella digital de la clave GitHub realmente proviene del servidor GitHub y simplemente presione yesEnter.

Git generará una advertencia que le indicará que la clave de GitHub se ha agregado a una lista de confianza en esta máquina:

Warning: Permanently added 'github.com' (RSA) to the list of known hosts.

Esta advertencia solo aparecerá una vez y no habrá advertencias para operaciones posteriores.

Si está realmente preocupado por alguien que finge ser un servidor de GitHub, yespuede verificar si la información de la huella digital de la clave RSA de GitHub es consistente con la conexión SSH antes de ingresarla .

 

Clonar desde repositorio remoto:

La última vez hablamos sobre cómo asociar la biblioteca remota cuando hay una biblioteca local primero y luego una biblioteca remota.

Ahora, asumiendo que desarrollamos desde cero, la mejor manera es crear primero una biblioteca remota y luego clonar desde la biblioteca remota.

Primero, inicie sesión en GitHub y cree un nuevo repositorio llamado gitskills:

Lo comprobamos Initialize this repository with a READMEpara que GitHub cree automáticamente un README.mdarchivo para nosotros . Después de la creación, puede ver el README.mdarchivo:

Ahora que la biblioteca remota está lista, el siguiente paso es git cloneclonar una biblioteca local con el comando :

$ git clone https://github.com/wu347771769/gitskills.git
Cloning into 'gitskills'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.

Preste atención para reemplazar la dirección de la biblioteca Git con la suya, y luego ingrese al gitskillsdirectorio para ver, ya hay README.mdarchivos:

$ cd gitskills
$ ls
README.md

Si hay varias personas que se desarrollan en colaboración, cada persona puede clonar una copia desde una ubicación remota.

También puede notar que hay más de una dirección proporcionada por GitHub, y https://github.com/wu347771769/gitskills.gitdicha dirección también se puede usar . De hecho, Git admite múltiples protocolos, git://ssh se usa de forma predeterminada , pero también se pueden usar httpsotros protocolos.

El uso httpsademás de lento, existe el mayor problema es que cada empuje debe ingresar una contraseña, pero algunos dentro de la empresa solo están abiertos, el puerto http no podrá usar el sshprotocolo y solo podrá usarlo https.

resumen

Para asociar una biblioteca remota, use el comando git remote add origin git@server-name:path/repo-name.git;

Después de la asociación, use el comando para git push -u origin masterenviar todo el contenido de la rama maestra por primera vez;

Después de eso, después de cada envío local, siempre que sea necesario, puede usar comandos para git push origin masterimpulsar los últimos cambios;

Para clonar un almacén, primero debe conocer la dirección del almacén y luego usar el git clonecomando para clonar.

Git admite una variedad de protocolos, incluido httpsel más rápido a través sshdel gitprotocolo nativo admitido .

 

 

Supongo que te gusta

Origin blog.csdn.net/wu347771769/article/details/88999943
Recomendado
Clasificación