tipos tag qué practices existen etiquetas eliminar crear commits commands best git github git-fork

tag - Copiar un repositorio de git sin historial



qué tipos de etiquetas existen en git (4)

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 ni quiero los commits anteriores en el repositorio público) sin incluir parte o todo el historial de commit?


Eliminar la carpeta .git es probablemente la ruta más fácil ya que no quieres / necesitas 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? )

git clone <git_url>

luego elimine .git y luego ejecute

git init

O 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:

git add . git commit -m "Initial commit"

Empuje a su repositorio.

git remote add origin <github-uri> git push -u --force origin master


Puede limitar la profundidad de la historia mientras cloning :

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

Úselo si desea un historial limitado, pero aún algunos.


Use el siguiente comando:

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

Dónde:

  • depth es la cantidad de confirmaciones que desea incluir. es decir, si solo desea la última confirmación, use git clone --depth 1
  • branch es el nombre de la rama remota desde la que desea clonar. es decir, si desea las últimas 3 confirmaciones de la rama master , use git clone --depth 3 -b master
  • repo_url es la url de tu repositorio

#!/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:[email protected]/$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