Copia un repository git sin historial

Actualmente tengo un repository privado en github que quiero hacer público. Sin embargo, algunos de los commits iniciales contienen información que no quiero hacer pública (crentials codificados, etc.).

¿Cuál es la ruta más fácil para hacer pública la última confirmación (realmente no necesito o no quiero las confirmaciones anteriores en el repository público) sin include parte o todo el historial de confirmación?

Puede limitar la profundidad del historial mientras clona :

--depth <depth> Create a shallow clone with a history truncated to the specified number of revisions. 

Úselo si quiere un historial limitado, pero aún algo.

Use el siguiente command:

 git clone --depth <depth> -b <branch> <repo_url> 

Dónde:

  • depth es la cantidad de confirmaciones que desea include. es decir, si solo quieres la última confirmación, usa git clone --depth 1
  • branch es el nombre de la twig remota desde la que desea clonar. es decir, si desea los últimos 3 commits de la twig master , use git clone --depth 3 -b master
  • repo_url es la url de tu repository
 #!/bin/bash set -e # Settings user=xxx pass=xxx dir=xxx repo_src=xxx repo_trg=xxx src_branch=xxx repo_base_url=https://$user:$pass@bitbucket.org/$user repo_src_url=$repo_base_url/$repo_src.git repo_trg_url=$repo_base_url/$repo_trg.git echo "Clone Source..." git clone --depth 1 -b $src_branch $repo_src_url $dir echo "CD" cd ./$dir echo "Remove GIT" rm -rf .git echo "Init GIT" git init git add . git commit -m "Initial Commit" git remote add origin $repo_trg_url echo "Push..." git push -u origin master