Actualmente tengo un repositorio privado en github que quiero hacer público. Sin embargo, algunas de las confirmaciones iniciales contienen información que no quiero hacer pública (credenciales codificadas, etc.).
¿Cuál es la ruta más fácil para hacer público el último commit (realmente no necesito o quiero los commits anteriores en el repositorio público) sin incluir parte o todo el historial de commit?

Respuestas:
Puede limitar la profundidad de la historia mientras clona :
Úselo si desea un historial limitado, pero aún algunos.
fuente
shallow update not allowed.Use el siguiente comando:
Dónde:
depthes la cantidad de confirmaciones que desea incluir. es decir, si solo quieres el último uso de commitgit clone --depth 1branches el nombre de la rama remota desde la que desea clonar. es decir, si desea las últimas 3 confirmaciones delmasteruso de la ramagit clone --depth 3 -b masterrepo_urles la url de tu repositoriofuente
shallow update not allowed. Encontré que esta respuesta de desbordamiento de pila es útil en esta instancia.La eliminación de la
.gitcarpeta es probablemente la ruta más fácil ya que no desea / necesita el historial (como dijo Stephan).Para que pueda crear un nuevo repositorio desde su último commit: ( ¿Cómo clonar el proyecto seed / kick-start sin toda la historia? )
luego eliminar
.git, y luego ejecutarO si desea reutilizar su repositorio actual: ¿ Hacer que la confirmación actual sea la única confirmación (inicial) en un repositorio Git?
Siga los pasos anteriores y luego:
Empuje a su repositorio.
fuente
fuente
--depth 1es innecesaria en este caso porque la historia también se elimina conrm -rf .gitgit clone --depth 1 -b $src_branch $repo_src_url $dir && cd ./$dir && git commit --amend --author "Some One <[email protected]>" -m "Initial Commit" && git remote set-url origin $repo_trg_url && git push -u origin master--depth 1es innecesario, pero también es inofensivo y ahorra un poco de ancho de banda de red (no tiene sentido buscar un historial que está a punto de eliminar de todos modos)¿No es esto exactamente lo que hace aplastar un rebase? Simplemente aplasta todo excepto el último commit y luego (fuerza) empujarlo.
fuente