Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1 GitHub - Configuración y
configuración de la cuenta
GitHub es el host más grande para los repositorios de Git, y es el punto central de
colaboración para millones de desarrolladores y proyectos. Un gran porcentaje de todos
los repositorios de Git están alojados en GitHub, y muchos proyectos de código abierto lo
usan para el alojamiento de Git, el seguimiento de problemas, la revisión de código y otras
cosas. Entonces, aunque no es una parte directa del proyecto de código abierto de Git,
hay una buena posibilidad de que desee o necesite interactuar con GitHub en algún
momento mientras usa Git profesionalmente.
Si no está interesado en usar GitHub para alojar sus propios proyectos o colaborar con
otros proyectos alojados en GitHub, puede saltar a Git Tools .
Acceso SSH
En este momento, puede conectarse completamente con los repositorios de Git utilizando
el https://protocolo, autenticándose con el nombre de usuario y la contraseña que
acaba de configurar. Sin embargo, para simplemente clonar proyectos públicos, ni siquiera
necesita registrarse: la cuenta que acabamos de crear entra en juego cuando bifurcamos
proyectos y pasamos a nuestros tenedores un poco más tarde.
Si desea utilizar controles remotos SSH, deberá configurar una clave pública. (Si aún no
tiene una, consulte Generar su clave pública SSH ). Abra la configuración de su cuenta
utilizando el enlace en la parte superior derecha de la ventana:
Figura 83. El enlace "Configuración de la cuenta".
Luego seleccione la sección "Teclas SSH" en el lado izquierdo.
Tu avatar
A continuación, si lo desea, puede reemplazar el avatar que se genera para usted con una
imagen de su elección. Primero vaya a la pestaña "Perfil" (arriba de la pestaña Claves
SSH) y haga clic en "Cargar nueva imagen".
Figura 85. El enlace "Perfil".
Elegiremos una copia del logotipo de Git que está en nuestro disco duro y luego tendremos
la oportunidad de recortarlo.
Después de elegir el método que prefiera y seguir las instrucciones para configurar 2FA,
su cuenta será un poco más segura y tendrá que proporcionar un código además de su
contraseña cada vez que inicie sesión en GitHub.
Proyectos de bifurcación
Si desea contribuir a un proyecto existente para el que no tiene acceso push, puede
"bifurcar" el proyecto. Cuando "bifurca" un proyecto, GitHub hará una copia del proyecto
que es completamente suya; vive en tu espacio de nombres, y puedes presionarlo.
De esta manera, los proyectos no tienen que preocuparse por agregar usuarios como
colaboradores para darles acceso push. Las personas pueden bifurcar un proyecto,
impulsarlo y contribuir con sus cambios al repositorio original creando lo que se llama una
solicitud de extracción, que cubriremos a continuación. Esto abre un hilo de discusión con
la revisión del código, y el propietario y el contribuyente pueden comunicarse sobre el
cambio hasta que el propietario esté satisfecho con él, momento en el cual el propietario
puede fusionarlo.
Para bifurcar un proyecto, visite la página del proyecto y haga clic en el botón "Bifurcación"
en la esquina superior derecha de la página.
Después de unos segundos, será llevado a su nueva página de proyecto, con su propia
copia del código que se puede escribir.
El flujo de GitHub
GitHub está diseñado en torno a un flujo de trabajo de colaboración particular, centrado en
solicitudes de extracción. Este flujo funciona si está colaborando con un equipo muy unido
en un único repositorio compartido, o con una compañía o red de extraños distribuidos
globalmente que contribuyen a un proyecto a través de docenas de tenedores. Se centra
en el flujo de trabajo Ramas temáticas cubierto en Git Branching .
Primero, hacemos clic en el botón Fork como se mencionó anteriormente para obtener
nuestra propia copia del proyecto. Nuestro nombre de usuario aquí es "tonychacon", por lo
que nuestra copia de este proyecto está
en https://github.com/tonychacon/blinky allí es donde podemos editarlo. Lo
clonaremos localmente, crearemos una rama de tema, haremos que el código cambie y
finalmente empuje ese cambio de nuevo a GitHub.
$ cd blink
--- a/blink.ino
+++ b/blink.ino
void loop() {
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
To https://github.com/tonychacon/blink
Ahora, si volvemos a nuestra bifurcación en GitHub, podemos ver que GitHub notó que
empujamos una nueva rama de tema y nos presenta un gran botón verde para verificar
nuestros cambios y abrir una solicitud de extracción para el proyecto original.
Si hacemos clic en ese botón verde, veremos una pantalla que nos pide que le demos un
título y una descripción a nuestra solicitud de extracción. Casi siempre vale la pena poner
un poco de esfuerzo en esto, ya que una buena descripción ayuda al propietario del
proyecto original a determinar qué estaba tratando de hacer, si los cambios propuestos
son correctos y si aceptar los cambios mejoraría el proyecto original.
También vemos una lista de las confirmaciones en nuestra rama temática que están "por
delante" de la masterrama (en este caso, solo una) y una diferencia unificada de todos
los cambios que se realizarán si el propietario del proyecto fusiona esta rama. .
Figura 92. Página de creación de solicitud de extracción
Cuando esta conversación puede tener lugar por correo electrónico en los flujos de trabajo
presentados en Distributed Git , en GitHub esto sucede en línea. El propietario del
proyecto puede revisar la diferencia unificada y dejar un comentario haciendo clic en
cualquiera de las líneas.
Figura 93. Comentario sobre una línea de código específica en una solicitud de extracción
Una vez que el mantenedor hace este comentario, la persona que abrió la solicitud de
extracción (y, de hecho, cualquier otra persona que esté mirando el repositorio) recibirá
una notificación. Revisaremos la personalización de esto más tarde, pero si tuviera
activadas las notificaciones por correo electrónico, Tony recibiría un correo electrónico
como este:
Ahora el contribuyente puede ver lo que necesita hacer para que su cambio sea
aceptado. Afortunadamente esto es muy sencillo. En el caso de que tenga que volver a
enviar su serie por correo electrónico y volver a enviarla a la lista de correo, con GitHub
simplemente se compromete con la rama del tema nuevamente y presiona, lo que
actualizará automáticamente la Solicitud de extracción. En la solicitud de extracción
final también puede ver que el comentario de código anterior se ha contraído en la solicitud
de extracción actualizada, ya que se realizó en una línea que desde entonces se ha
modificado.
Una cosa interesante a notar es que si hace clic en la pestaña "Archivos modificados" en
esta solicitud de extracción, obtendrá la diferencia "unificada", es decir, la diferencia total
agregada que se introduciría en su rama principal si este tema la rama se fusionó. En git
difftérminos, básicamente le muestra automáticamente git diff
master...<branch>la rama en la que se basa esta solicitud de
extracción. Consulte Determinación de lo que se presenta para obtener más información
sobre este tipo de diferencias.
La otra cosa que notará es que GitHub verifica si la solicitud de extracción se fusiona
limpiamente y proporciona un botón para que se fusione en el servidor. Este botón solo
aparece si tiene acceso de escritura al repositorio y es posible una fusión trivial. Si hace
clic en él, GitHub realizará una fusión “sin avance rápido”, lo que significa que incluso si la
fusión podría ser un avance rápido, seguirá creando una confirmación de fusión.
Si lo prefiere, puede simplemente bajar la rama y fusionarla localmente. Si fusiona esta
rama en la masterrama y la empuja a GitHub, la solicitud de extracción se cerrará
automáticamente.
Este es el flujo de trabajo básico que utilizan la mayoría de los proyectos de GitHub. Se
crean ramas temáticas, se abren solicitudes de extracción sobre ellas, se produce una
discusión, posiblemente se realiza más trabajo en la rama y, finalmente, la solicitud se
cierra o se fusiona.
No solo horquillas
Esta es una distinción importante, porque generalmente el cambio se sugiere antes de que
el código se considere perfecto, lo cual es mucho más raro con las contribuciones de
series de parches basadas en listas de correo. Esto permite una conversación anterior con
los mantenedores para que llegar a la solución adecuada sea más un esfuerzo de la
comunidad. Cuando se propone el código con una solicitud de extracción y los encargados
de mantenimiento o la comunidad sugieren un cambio, la serie de parches generalmente
no se vuelve a lanzar, sino que la diferencia se empuja como un nuevo compromiso a la
rama, avanzando la conversación con el contexto del trabajo previo intacto.
Por ejemplo, si regresa y vuelve a mirar la solicitud de extracción final , notará que el
contribuyente no reformuló su confirmación y envió otra solicitud de extracción. En cambio,
agregaron nuevos commits y los empujaron a la rama existente. De esta manera, si
regresa y mira esta solicitud de extracción en el futuro, puede encontrar fácilmente todo el
contexto de por qué se tomaron las decisiones. Al presionar el botón "Fusionar" en el sitio,
se crea una confirmación de fusión que hace referencia a la solicitud de extracción para
que sea fácil regresar e investigar la conversación original si es necesario.
Si ve que algo como Pull Request no se fusiona limpiamente , querrá arreglar su rama
para que se vuelva verde y el responsable no tenga que hacer un trabajo adicional.
Tienes dos opciones principales para hacer esto. Puede cambiar la base de su rama
encima de la rama de destino (normalmente la masterrama del repositorio que bifurcó), o
puede fusionar la rama de destino en su rama.
La mayoría de los desarrolladores en GitHub elegirán hacer lo último, por las mismas
razones que acabamos de ver en la sección anterior. Lo que importa es el historial y la
fusión final, por lo que el rebase no te ofrece mucho más que un historial ligeramente más
limpio y, a cambio, es mucho más difícil y propenso a errores.
Si desea fusionarse en la rama de destino para hacer que su solicitud de extracción sea
fusionable, debe agregar el repositorio original como un nuevo control remoto, buscarlo,
fusionar la rama principal de ese repositorio en su rama de tema, solucionar cualquier
problema y finalmente empujarlo volver a la misma rama en la que abrió la solicitud de
extracción.
Por ejemplo, supongamos que en el ejemplo "tonychacon" que estábamos usando antes,
el autor original realizó un cambio que crearía un conflicto en la solicitud de
extracción. Veamos esos pasos.
Auto-merging blink.ino
Automatic merge failed; fix conflicts and then commit the result.
$ git commit
into slower-blink
To https://github.com/tonychacon/blink
Una de las mejores cosas de Git es que puedes hacerlo continuamente. Si tiene un
proyecto de larga duración, puede fusionarse fácilmente desde la rama de destino una y
otra vez y solo tiene que lidiar con los conflictos que han surgido desde la última vez que
se fusionó, haciendo que el proceso sea muy manejable.
Si desea cambiar la base de la sucursal para limpiarla, sin duda puede hacerlo, pero se
recomienda no forzar el empuje sobre la sucursal en la que ya está abierta la solicitud de
extracción. Si otras personas lo han derribado y han trabajado más en él, te topas con
todos los problemas descritos en The Perils of Rebasing . En su lugar, empuje la rama
rebaseada a una nueva rama en GitHub y abra una nueva solicitud de extracción que haga
referencia a la anterior, luego cierre el original.
Referencias
Su próxima pregunta puede ser "¿Cómo hago referencia a la antigua solicitud de
extracción?". Resulta que hay muchas, muchas formas de hacer referencia a otras cosas
en casi cualquier lugar donde pueda escribir en GitHub.
Tenga en cuenta que la URL completa de GitHub que pusimos allí se acortó a la
información necesaria.
Ahora, si Tony regresa y cierra la solicitud de extracción original, podemos ver que al
mencionarla en la nueva, GitHub ha creado automáticamente un evento de trackback en la
línea de tiempo de la solicitud de extracción. Esto significa que cualquier persona que
visite esta Solicitud de extracción y vea que está cerrada puede vincular fácilmente a la
que la reemplazó. El enlace se parecerá a un enlace a la nueva solicitud de extracción en
la línea de tiempo cerrada de solicitud de extracción. .
Además de los números de emisión, también puede hacer referencia a una confirmación
específica de SHA-1. Debe especificar un SHA-1 completo de 40 caracteres, pero si
GitHub lo ve en un comentario, se vinculará directamente con la
confirmación. Nuevamente, puede hacer referencia a confirmaciones en horquillas u otros
repositorios de la misma manera que lo hizo con los problemas.
El sabor GitHub de Markdown agrega más cosas que puedes hacer más allá de la sintaxis
básica de Markdown. Todo esto puede ser realmente útil al crear una solicitud de
extracción o comentarios o descripciones útiles.
Listas de tareas
La primera característica de Markdown específica de GitHub realmente útil, especialmente
para su uso en solicitudes de extracción, es la Lista de tareas. Una lista de tareas es una
lista de casillas de verificación de las cosas que desea hacer. Ponerlos en una solicitud de
problema o extracción normalmente indica las cosas que desea hacer antes de considerar
que el elemento está completo.
Esto se usa a menudo en las solicitudes de extracción para indicar lo que desea hacer en
la sucursal antes de que la solicitud de extracción esté lista para fusionarse. La parte
realmente genial es que simplemente puede hacer clic en las casillas de verificación para
actualizar el comentario; no tiene que editar el Markdown directamente para marcar las
tareas.
Estos son increíblemente útiles cuando abre una solicitud de extracción anticipadamente y
la utiliza para realizar un seguimiento de su progreso en la implementación de la función.
Fragmentos de código
También puede agregar fragmentos de código a los comentarios. Esto es especialmente
útil si desea presentar algo que podría intentar hacer antes de implementarlo realmente
como una confirmación en su sucursal. Esto también se usa a menudo para agregar
código de ejemplo de lo que no funciona o lo que podría implementar esta solicitud de
extracción.
```java
```
Si agrega un nombre de idioma como lo hicimos allí con Java , GitHub también intentará
resaltar la sintaxis del fragmento. En el caso del ejemplo anterior, terminaría
renderizándose como el ejemplo de código vallado renderizado. .
Citando
Si está respondiendo a una pequeña parte de un comentario largo, puede citar
selectivamente el otro comentario precediendo las líneas con el >carácter. De hecho, esto
es tan común y tan útil que hay un atajo de teclado para ello. Si resalta el texto en un
comentario al que desea responder directamente y presiona la rtecla, lo citará en el
cuadro de comentarios.
Las citas se parecen a esto:
Emoji
Finalmente, también puedes usar emoji en tus comentarios. En realidad, esto se usa
ampliamente en los comentarios que ves en muchos problemas de GitHub y solicitudes de
extracción. Incluso hay un ayudante de emoji en GitHub. Si está escribiendo un comentario
y comienza con un :personaje, un autocompletador lo ayudará a encontrar lo que está
buscando.
Figura 107. Autocompletador de Emoji en acción.
Los emojis toman la forma de :<name>:cualquier parte del comentario. Por ejemplo,
podrías escribir algo como esto:
:clap::tada::panda_face:
No es que esto sea increíblemente útil, pero agrega un elemento de diversión y emoción a
un medio que de otro modo es difícil transmitir emoción.
Pero su repositorio de GitHub nunca será actualizado automáticamente por GitHub; Esto
es algo que debes hacer tú mismo. Afortunadamente, esto es muy fácil de hacer.
Todo lo que realmente tiene que hacer aquí es proporcionar un nombre de proyecto; El
resto de los campos son completamente opcionales. Por ahora, simplemente haga clic en
el botón "Crear repositorio" y auge: tiene un nuevo repositorio en GitHub,
llamado <user>/<project_name>.
Como todavía no tiene código allí, GitHub le mostrará instrucciones sobre cómo crear un
nuevo repositorio de Git o conectar un proyecto Git existente. No vamos a decir esto
aquí; Si necesita un repaso, consulte Git Basics .
Ahora que su proyecto está alojado en GitHub, puede proporcionar la URL a cualquier
persona con la que desee compartir su proyecto. Se puede acceder a todos los proyectos
en GitHub a través de HTTPS
como https://github.com/<user>/<project_name>, y a través de SSH
como git@github.com:<user>/<project_name>. Git puede buscar y empujar a
ambas URL, pero están controladas por acceso en función de las credenciales del usuario
que se conecta a ellas.
A menudo es preferible compartir la URL basada en HTTPS para un
proyecto público, ya que el usuario no tiene que tener una cuenta de
GitHub para acceder a ella para clonarla. Los usuarios deberán tener
Nota una cuenta y una clave SSH cargada para acceder a su proyecto si
les proporciona la URL SSH. El HTTPS también es exactamente la
misma URL que pegarían en un navegador para ver el proyecto allí.
Agregar colaboradores
Si está trabajando con otras personas a las que desea otorgarles acceso de compromiso,
debe agregarlas como "colaboradores". Si Ben, Jeff y Louise se registran para obtener
cuentas en GitHub y desea darles acceso push a su repositorio, puede agregarlos a su
proyecto. Hacerlo les dará acceso "push", lo que significa que tienen acceso de lectura y
escritura al proyecto y al repositorio de Git.
Haga clic en el enlace "Configuración" en la parte inferior de la barra lateral derecha.
Figura 115. Notificación por correo electrónico de una nueva solicitud de extracción.
Hay algunas cosas que notar sobre este correo electrónico. Le dará un pequeño diffstat:
una lista de archivos que han cambiado en la solicitud de extracción y en qué medida. Le
da un enlace a la solicitud de extracción en GitHub. También le proporciona algunas URL
que puede usar desde la línea de comandos.
Si observa la línea que dice git pull <url> patch-1, esta es una manera simple de
fusionarse en una rama remota sin tener que agregar un control remoto. Repasamos esto
rápidamente en Checking Out Remote Branches . Si lo desea, puede crear y cambiar a
una rama de tema y luego ejecutar este comando para fusionar los cambios de Solicitud
de extracción.
Las otras URL interesantes son las URL .diffy .patch, que, como puede suponer,
proporcionan versiones unificadas de diferencias y parches de la solicitud de
extracción. Técnicamente, podría fusionarse en el trabajo de Solicitud de extracción con
algo como esto:
Cada vez que alguien más comente sobre la Solicitud de extracción, continuará recibiendo
notificaciones por correo electrónico para que sepa que está ocurriendo una
actividad. Cada uno tendrá un enlace a la Solicitud de extracción donde está ocurriendo la
actividad y también puede responder directamente al correo electrónico para comentar
sobre el hilo de Solicitud de extracción.
Una vez que el código está en un lugar que le gusta y desea fusionarlo, puede desplegar
el código hacia abajo y fusionarlo localmente, ya sea con la git pull <url>
<branch>sintaxis que vimos anteriormente, o agregando la bifurcación como control
remoto y buscando y fusionando.
Si la combinación es trivial, también puede presionar el botón "Combinar" en el sitio de
GitHub. Esto hará una fusión “sin avance rápido”, creando una confirmación de fusión
incluso si fuera posible una fusión con avance rápido. Esto significa que no importa qué,
cada vez que presiona el botón de fusión, se crea una confirmación de fusión. Como
puede ver en el botón Fusionar e instrucciones para fusionar una solicitud de extracción
manualmente. , GitHub le brinda toda esta información si hace clic en el enlace de pista.
Figura 117. Botón de combinación e instrucciones para combinar una solicitud de
extracción manualmente.
GitHub en realidad anuncia las ramas de solicitud de extracción para un repositorio como
una especie de pseudo-ramas en el servidor. Por defecto, no los obtienes cuando clonas,
pero están allí de forma oculta y puedes acceder a ellos con bastante facilidad.
Para demostrar esto, vamos a utilizar un comando de bajo nivel (a menudo denominado
comando de "plomería", sobre el que leeremos más en Plomería y porcelana )
llamado ls-remote. Este comando generalmente no se usa en las operaciones diarias
de Git, pero es útil para mostrarnos qué referencias están presentes en el servidor.
Si ejecutamos este comando contra el repositorio "blink" que estábamos usando
anteriormente, obtendremos una lista de todas las ramas y etiquetas y otras referencias en
el repositorio.
10d539600d86723087810ec636870a504f4fee4d HEAD
10d539600d86723087810ec636870a504f4fee4d refs/heads/master
6a83107c62950be9453aac297bb0193fd743cd6e refs/pull/1/head
afe83c2d1a70674c9505cc1d8b7d380d5e076ed3 refs/pull/1/merge
3c8d735ee16296c242be7a9742ebfbc2665adec1 refs/pull/2/head
15c9f4f80973a2758462ab2066b6ad9fe8dcf03d refs/pull/2/merge
a5a7751a33b7e86c5e9bb07b26001bb17d775d1a refs/pull/4/head
31a45fc257e8433c8d8804e3e848cf61c9d3166c refs/pull/4/merge
Por supuesto, si está en su repositorio y ejecuta git ls-remote origino cualquier
control remoto que desee verificar, le mostrará algo similar a esto.
Si el repositorio está en GitHub y tiene solicitudes de extracción que se han abierto,
obtendrá estas referencias con el prefijo refs/pull/. Estas son básicamente ramas,
pero como no están debajo refs/heads/, no las obtiene normalmente cuando clona o
recupera del servidor; el proceso de recuperación las ignora normalmente.
Hay dos referencias por solicitud de extracción: la que termina en /headpuntos con
exactamente la misma confirmación que la última confirmación en la rama Solicitud de
extracción. Así que si alguien abre una solicitud de extracción en nuestro repositorio y su
rama se nombra bug-fixy apunta a comprometerse a5a775, a continuación,
en nuestro repositorio no vamos a tener una bug-fixrama (ya que está en su tenedor),
pero nos vamos a tener pull/<pr#>/headque apunta a a5a775. Esto significa que
podemos desplegar fácilmente todas las ramas de Solicitud de extracción de una vez sin
tener que agregar un montón de controles remotos.
Ahora, podría hacer algo como buscar la referencia directamente.
From https://github.com/libgit2/libgit2
[remote "origin"]
url = https://github.com/libgit2/libgit2
fetch = +refs/heads/*:refs/remotes/origin/*
Esa línea que comienza con fetch =una "especificación de referencia". Es una forma de
mapear nombres en el control remoto con nombres en su .gitdirectorio local . Este en
particular le dice a Git, "las cosas en el control remoto que están
debajo refs/headsdeben ir a mi repositorio local
debajo refs/remotes/origin". Puede modificar esta sección para agregar otra
especificación de referencia:
[remote "origin"]
url = https://github.com/libgit2/libgit2.git
fetch = +refs/heads/*:refs/remotes/origin/*
fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
$ git fetch
# …
# …
Ahora todas las solicitudes remotas de extracción están representadas localmente con
referencias que actúan de forma muy similar a las ramas de seguimiento; son de solo
lectura y se actualizan cuando haces una búsqueda. Esto hace que sea muy fácil probar el
código desde una solicitud de extracción localmente:
Aquí puede especificar con bastante facilidad para fusionar su nueva sucursal en otra
solicitud de extracción u otra bifurcación del proyecto.
Menciones y Notificaciones
GitHub también tiene un sistema de notificaciones bastante agradable incorporado que
puede ser útil cuando tiene preguntas o necesita comentarios de personas o equipos
específicos.
También puede mencionar a un usuario que no está en ese menú desplegable, pero a
menudo el autocompletador puede hacerlo más rápido.
Una vez que publique un comentario con una mención de usuario, ese usuario será
notificado. Esto significa que esta puede ser una forma realmente efectiva de atraer a las
personas a conversaciones en lugar de hacerlas sondear. Muy a menudo, en las
solicitudes de extracción en GitHub, las personas atraen a otras personas en sus equipos
o en su empresa para revisar un problema o una solicitud de extracción.
La página de notificaciones
Cuando mencionamos "notificaciones" aquí con respecto a GitHub, nos referimos a una
forma específica en que GitHub intenta ponerse en contacto con usted cuando ocurren
eventos y hay algunas formas diferentes de configurarlos. Si va a la pestaña "Centro de
notificaciones" desde la página de configuración, puede ver algunas de las opciones que
tiene.
Las dos opciones son recibir notificaciones a través de "Correo electrónico" y "Web" y
puede elegir uno, ninguno o ambos para cuando participe activamente en las cosas y para
la actividad en los repositorios que está viendo.
NOTIFICACIONES WEB
Las notificaciones web solo existen en GitHub y solo puede verificarlas en GitHub. Si tiene
esta opción seleccionada en sus preferencias y se activa una notificación para usted, verá
un pequeño punto azul sobre el icono de notificaciones en la parte superior de la pantalla
como se ve en el Centro de notificaciones. .
Figura 122. Centro de notificaciones.
Si hace clic en eso, verá una lista de todos los elementos sobre los que ha sido notificado,
agrupados por proyecto. Puede filtrar las notificaciones de un proyecto específico haciendo
clic en su nombre en la barra lateral izquierda. También puede confirmar la notificación
haciendo clic en el ícono de la marca de verificación junto a cualquier notificación, o
reconocer todas las notificaciones en un proyecto haciendo clic en la marca de verificación
en la parte superior del grupo. También hay un botón de silencio al lado de cada marca de
verificación en el que puede hacer clic para no recibir más notificaciones sobre ese
elemento.
Todas estas herramientas son muy útiles para manejar grandes cantidades de
notificaciones. Muchos usuarios avanzados de GitHub simplemente desactivarán por
completo las notificaciones por correo electrónico y administrarán todas sus notificaciones
a través de esta pantalla.
También hay una buena cantidad de metadatos incrustados en los encabezados de los
correos electrónicos que GitHub le envía, lo que puede ser realmente útil para configurar
filtros y reglas personalizados.
Por ejemplo, si miramos los encabezados de correo electrónico reales enviados a Tony en
el correo electrónico que se muestra en la notificación por correo electrónico de una nueva
solicitud de extracción. , veremos lo siguiente entre la información enviada:
To: tonychacon/fade <fade@noreply.github.com>
Message-ID: <tonychacon/fade/pull/1@github.com>
Subject: [fade] Wait longer to see the dimming effect better (#1)
X-GitHub-Recipient: tonychacon
List-Archive: https://github.com/tonychacon/fade
List-Post: <mailto:reply+i-4XXX@reply.github.com>
List-Unsubscribe: <mailto:unsub+i-XXX@reply.github.com>,...
X-GitHub-Recipient-Address: tchacon@example.com
Hay un par de cosas interesantes aquí. Si desea resaltar o redirigir correos electrónicos a
este proyecto en particular o incluso Solicitud de extracción, la información Message-IDle
brinda todos los datos en <user>/<project>/<type>/<id>formato. Si esto fuera un
problema, por ejemplo, el <type>campo habría sido "problemas" en lugar de "pull".
Los campos List-Posty List-Unsubscribesignifican que si tiene un cliente de correo
que los comprende, puede publicar fácilmente en la lista o "Cancelar suscripción" del
hilo. Eso sería esencialmente lo mismo que hacer clic en el botón "silenciar" en la versión
web de la notificación o "Cancelar suscripción" en la página de emisión o solicitud de
extracción.
También vale la pena señalar que si tiene habilitadas las notificaciones web y de correo
electrónico y lee la versión de correo electrónico de la notificación, la versión web se
marcará como leída también si tiene imágenes permitidas en su cliente de correo.
Archivos especiales
Hay un par de archivos especiales que GitHub notará si están presentes en su repositorio.
LÉAME
El primero es el READMEarchivo, que puede tener casi cualquier formato que GitHub
reconozca como prosa. Por ejemplo, podría
ser README, README.md, README.asciidoc, etc. Si GitHub ve un archivo README en
su fuente, se las puede hacer en la página de destino del proyecto.
Muchos equipos usan este archivo para almacenar toda la información relevante del
proyecto para alguien que pueda ser nuevo en el repositorio o proyecto. Esto
generalmente incluye cosas como:
Para qué sirve el proyecto
Dado que GitHub representará este archivo, puede incrustar imágenes o enlaces en él
para una mayor facilidad de comprensión.
CONTRIBUYENDO
El otro archivo especial que GitHub reconoce es el CONTRIBUTINGarchivo. Si tiene un
archivo CONTRIBUTINGcon una extensión de archivo, GitHub mostrará Abrir una solicitud
de extracción cuando exista un archivo CONTRIBUYENTE. cuando alguien comienza a
abrir una solicitud de extracción.
Figura 123. Abrir una solicitud de extracción cuando existe un archivo CONTRIBUYENTE.
La idea aquí es que puede especificar cosas específicas que desea o no desea en una
solicitud de extracción enviada a su proyecto. De esta manera, las personas pueden leer
las pautas antes de abrir la solicitud de extracción.
Administración de proyecto
Por lo general, no hay muchas cosas administrativas que puede hacer con un solo
proyecto, pero hay algunos elementos que pueden ser de interés.
Transfiriendo un proyecto
Si desea transferir un proyecto a otro usuario u organización en GitHub, hay una opción de
"Transferir propiedad" en la parte inferior de la misma pestaña "Opciones" de la página de
configuración del repositorio que le permite hacer esto.
Esto no solo mueve el repositorio junto con todos sus observadores y estrellas a otro lugar,
sino que también configura una redirección desde su URL al nuevo lugar. También
redirigirá clones y recuperaciones de Git, no solo solicitudes web.
Al igual que en Tu avatar , puedes subir un avatar para que tu organización lo personalice
un poco. También, al igual que las cuentas personales, tiene una página de destino para la
organización que enumera todos sus repositorios y puede ser vista por otras personas.
Ahora cubramos algunas de las cosas que son un poco diferentes con una cuenta de
organización.
Equipos
Las organizaciones se asocian con personas individuales por medio de equipos, que son
simplemente una agrupación de cuentas de usuarios individuales y depósitos dentro de la
organización y qué tipo de acceso tienen esas personas en esos depósitos.
Registro de auditoría
Las organizaciones también dan a los propietarios acceso a toda la información sobre lo
que sucedió bajo la organización. Puede ir a la pestaña Registro de auditoría y ver qué
eventos han sucedido a nivel de organización, quién los realizó y en qué lugar del mundo
se realizaron.
Figura 129. El registro de auditoría.
También puede filtrar a tipos específicos de eventos, lugares específicos o personas
específicas.