No tienes que "descargarlos de nuevo", porque todo el historial del repositorio existe localmente cuando usas Git.
cdhowie
¿Sabes cómo conseguirlos de local?
Charlie Parker
Respuestas:
162
Dado que git es un VCS distribuido, su repositorio local contiene toda la información. No es necesario realizar ninguna descarga; solo necesita extraer el contenido que desea del repositorio a su alcance.
Si no ha cometido la eliminación, simplemente consulte los archivos de su confirmación actual:
git checkout HEAD <path>
Si ha cometido la eliminación, debe verificar los archivos de una confirmación que los tenga. Presumiblemente sería el compromiso anterior:
git checkout HEAD^ <path>
pero si se ha nconfirmado hace, use HEAD~no simplemente inicie gitk, busque el SHA1 de la confirmación adecuada y péguelo.
solo como un comentario lateral, esto también funciona para un directorio completo, no es especial ni específico para un solo archivo (funcionó cuando lo probé al menos). Thnx por cierto.
Charlie Parker
5
Nota: <path>es obligatorio, incluso si solo tiene un .punto para el directorio actual. Pero la "rama" ( HEADen el ejemplo anterior) es opcional. Al igual que con tantos comandos de Git, ni la salida ni la ayuda son útiles.
advirtiendo que al usar el git reset --hardmétodo, ya que revertirá todo el árbol a la ubicación en la que colocas HEAD / HEAD ^ / HEAD ~ n y lo hará sin prejuicios y potencialmente perderá muchas confirmaciones ...
g19fanatic
git checkout filename fue la respuesta para mí :)
Ruub
git checkout filename crea solo un archivo vacío
mrek
colocado en la carpeta deseada y git checkount .funcionó como un encanto!
hzitoun
21
Si eliminó varios archivos localmente pero no los confirmó, puede forzar el pago
Como vemos en la salida "Ya actualizado", la persona que hace esta pregunta no ha cometido nada últimamente. ¿Debería especificar que git checkout -f HEAD es PELIGROSO? Ya que podría deshacer los cambios locales que no se confirmaron (restaurar archivos anteriores es el resultado positivo, perder los cambios en los archivos editados el negativo).
Lionel Trebuchon
15
Si eliminó varios archivos localmente y no confirmó los cambios, vaya a la ruta de su repositorio local, abra el shell de git y escriba.
$ git checkout HEAD .
Se recuperarán todos los archivos eliminados antes de la última confirmación.
Añadiendo "." recuperará todos los archivos eliminados en el repositorio actual, en sus respectivas rutas.
Para obtener más detalles, consulte la documentación .
Respuestas:
Dado que git es un VCS distribuido, su repositorio local contiene toda la información. No es necesario realizar ninguna descarga; solo necesita extraer el contenido que desea del repositorio a su alcance.
Si no ha cometido la eliminación, simplemente consulte los archivos de su confirmación actual:
Si ha cometido la eliminación, debe verificar los archivos de una confirmación que los tenga. Presumiblemente sería el compromiso anterior:
pero si se ha
n
confirmado hace, useHEAD~n
o simplemente iniciegitk
, busque el SHA1 de la confirmación adecuada y péguelo.fuente
<path>
es obligatorio, incluso si solo tiene un.
punto para el directorio actual. Pero la "rama" (HEAD
en el ejemplo anterior) es opcional. Al igual que con tantos comandos de Git, ni la salida ni la ayuda son útiles.git checkout filename
git reset --hard
podría hacer el truco tambiénfuente
git reset --hard
método, ya que revertirá todo el árbol a la ubicación en la que colocas HEAD / HEAD ^ / HEAD ~ n y lo hará sin prejuicios y potencialmente perderá muchas confirmaciones ...git checkount .
funcionó como un encanto!Si eliminó varios archivos localmente pero no los confirmó, puede forzar el pago
fuente
Si eliminó varios archivos localmente y no confirmó los cambios, vaya a la ruta de su repositorio local, abra el shell de git y escriba.
Se recuperarán todos los archivos eliminados antes de la última confirmación.
Añadiendo "." recuperará todos los archivos eliminados en el repositorio actual, en sus respectivas rutas.
Para obtener más detalles, consulte la documentación .
fuente
Debe verificar una versión anterior antes de eliminar los archivos. Intenta
git checkout HEAD^
comprobar la última revisión.fuente
Además, agrego hacer los siguientes pasos para que el repositorio de git esté correctamente vinculado con el IDE:
¡Espero que esto haya sido útil!
fuente