La semana pasada creé un repositorio de Github y olvidé seleccionar una licencia para el repositorio. Ahora ya hay 3 grandes confirmaciones.
Le pregunté a los 3 contribuyentes si estaba bien, si borro el repositorio y luego lo creo de nuevo con el mismo nombre y esta vez seleccionando la licencia al crear el repositorio, y están bien.
Pregunta
¿Hay alguna forma de obtener las confirmaciones en un nuevo repositorio (esta vez, la primera confirmación es el archivo LICENCIA) y aún así mantener la metainformación de la confirmación?
Respuestas:
Sí, agregando un control remoto y seleccionando las confirmaciones además de su primera confirmación.
El resto de esta respuesta es si aún desea agregar la LICENCIA a su repositorio anterior.
Si. Puede colocar su confirmación de LICENCIA como la primera confirmación cambiando la base.
Rebasing es una forma de git de reorganizar el orden de las confirmaciones mientras se mantienen intactos todos los autores de las confirmaciones y las fechas de las confirmaciones.
Cuando se trabaja en un repositorio compartido, generalmente se desaconseja a menos que todo su equipo sea fluido en git. Para aquellos que no lo están, pueden simplemente clonar una copia nueva del repositorio.
Así es como obtiene su confirmación de LICENCIA como la primera confirmación.
1. Actualice y reajuste su copia local
Consulte su proyecto y coloque el archivo LICENCIA en una confirmación EN LA PARTE SUPERIOR de su pila de 3 confirmaciones actual.
Luego haga una rebase interactiva en la rama maestra para REORDENAR las confirmaciones.
Abrirá un editor. Mueva la línea inferior (su confirmación de "confirmación inicial", la confirmación más reciente) a la parte superior del archivo. Luego guarde y salga del editor.
Tan pronto como salga del editor, git escribirá las confirmaciones en el orden que acaba de especificar.
Ahora tiene su copia local del repositorio actualizada. hacer:
para verificar.
2. Forzar el envío de su nuevo estado de repositorio a github
Ahora que su copia está actualizada, debe forzar la inserción a github.
Esto le dirá a github que mueva la rama maestra a su nueva ubicación. Solo debe forzar el impulso en raras ocasiones como esta, en las que todos los que trabajan con él están al tanto del cambio pendiente, de lo contrario confundirá a sus colaboradores.
3. Sincronizar colaboradores con github
Por último, todos los colaboradores deberán sincronizarse con este repositorio.
Primero , deben tener repositorios limpios ya que el siguiente comando puede ser destructivo si hay cambios sin guardar.
Eso es. Todo el mundo debería estar sincronizado ahora.
fuente
Tuve un problema similar en el que olvidé bifurcar un repositorio en mi github y agregué varias confirmaciones antes de darme cuenta de mi error.
Encontré una solución bastante simple.
Primero retire el control remoto al repositorio original
git remote remove origin
En segundo lugar, agregue un control remoto a la nueva bifurcación en mi github
git remote add origin <my repo URL>
Luego empujé al maestro de origen y todas mis confirmaciones aparecieron en mi github.
fuente
git push --set-upstream origin master
, pero Git te hace consciente de esto.SourceGit = UrlS
Ahora, el destino tendrá los mismos datos que la fuente (también puede usar origen en lugar de origen2)
fuente