git récupérer le fichier supprimé où aucun commit n’a été effectué après la suppression

J’ai supprimé des fichiers.

Je ne me suis pas encore engagé.

Je souhaite réinitialiser mon espace de travail pour récupérer les fichiers.

J’ai fait un git checkout . .

Mais les fichiers supprimés sont toujours manquants.

Et le git status montre:

 # On branch master # Changes to be committed: # (use "git reset HEAD ..." to unstage) # # deleted: cc.properties # deleted: store/README # deleted: store/cc.properties # 

Pourquoi ne pas git checkout . réinitialiser l’espace de travail à HEAD ?

La sortie vous indique ce que vous devez faire. git reset HEAD cc.properties etc.

Cela va désinstaller l’opération rm. Après cela, exécuter à nouveau un git status vous indiquera que vous devez effectuer une git checkout -- cc.properties pour récupérer le fichier.

Mise à jour: je l’ai dans mon fichier de configuration

 $ git config alias.unstage reset HEAD 

que j’utilise habituellement pour décoller des choses.

Vous avez organisé la suppression de sorte que vous devez faire:

 git checkout HEAD cc.properties store/README store/cc.properties 

git checkout . ne sort que de l’index où la suppression a déjà été effectuée.

Il suffit de faire le git checkout path/to/file-I-want-to-bring-back.txt

Pour récupérer toutes les suppressions non temporisées à la fois, automatiquement, sans spécifier chaque chemin:

 git ls-files -d | xargs git checkout -- 

Pour récupérer toutes les suppressions par étapes , automatiquement, sans spécifier chaque chemin:

 git status | grep 'deleted:' | awk '{print $2}' | xargs git checkout -- 

Puisque vous faites un git checkout . , il semble que vous tentiez de restaurer votre twig sur le dernier état de validation.

Vous pouvez y parvenir avec un git reset HEAD --hard

Attention

Faire ceci peut enlever toutes vos dernières modifications et décontaminer vos modifications, par exemple, vous pouvez perdre le travail. C’est peut- être ce que vous voulez, mais consultez les documents pour vous en assurer.

si vous avez utilisé

 git rm filename 

supprimer un fichier puis

 git checkout path/to/filename 

ne fonctionne pas, alors dans ce cas

 git checkout HEAD^ filename 

devrait marcher

Voici la commande qui m’a aidé sur mon mac. J’ai essayé quelques unes des autres solutions mais elles n’ont pas fonctionné pour moi.

Version Git sur OSX Mavericks

 mac-pro:main chris$ git version git version 1.8.5.2 (Apple Git-48) 

Commander

 git checkout HEAD -- path/to/file/file.cc 
 git checkout HEAD -- client/src/pp_web/index.cljs 

Si vous voulez restaurer tous les fichiers à la fois

N’oubliez pas d’utiliser la période car elle indique à git de saisir tous les fichiers.

Cette commande réinitialisera la tête et supprimera tous les changements:

 $ git reset HEAD . 

Puis lancez ceci pour restaurer tous les fichiers:

 $ git checkout . 

Ensuite, en faisant un statut git, vous obtiendrez:

 $ git status On branch master Your branch is up-to-date with 'origin/master'. 

Voulez-vous voir ça?

cela vaut pour les cas où vous avez utilisé

 git checkout -- . 

avant de commettre quelque chose.

Vous pouvez également vouloir vous débarrasser des fichiers créés qui n’ont pas encore été créés. Et vous ne les voulez pas. Avec :

 git reset -- . 

Vous avez trouvé ce message en cherchant des réponses sur la manière de supprimer un fichier qui a été supprimé dans mon répertoire de travail après une fusion provenant d’une autre twig. Aucun commit n’a encore été effectué après la fusion. Comme il s’agissait d’une fusion en cours, je ne pouvais pas simplement l’append en utilisant:

 $ git reset  file.cpp 

Je devais faire une autre étape en plus de la réinitialisation pour ramener le fichier:

 $ git checkout -- file.cpp 

Si vous n’avez commis aucun changement, il vous suffit de cacher ces modifications et vous reviendrez au dernier engagement en cours.

 git stash git stash clear git clean 

Utilisez git ls-files pour extraire les git ls-files supprimés (-d) ou modifiés (-m).

 git checkout $(git ls-files -d) 

voir Comment puis-je restaurer uniquement les fichiers modifiés lors d’une vérification git?

si vous recherchez un répertoire supprimé.

  git checkout ./pathToDir/* 

Si vous avez installé ToroiseGIT, sélectionnez simplement l’option “Revert …” pour le menu contextuel du dossier parent.

Pour moi, ce qui a fonctionné était la git checkout {SHA1 of commit with version to restore} "{path to file to restore}"

Par exemple, git checkout 5a6b3179e58edff9c90326b9a04284b02fd67bd0 "src-ui/views/includes/radar.pug"

(exécuté dans la twig dans laquelle nous voulons que le fichier entre dans)

Après l’exécution de cette commande, le fichier restauré existera à l’emplacement d’origine (qui devra être vérifié)

Je cherchais une réponse à cela et ai trouvé que simple

 git checkout ./* 

ça ira.

J’ai eu le même problème, mais aucune des solutions ci-dessus n’a fonctionné pour moi. Ce que j’ai fini par faire était:
– créer un fichier vide du même nom
– comparez ce fichier avec son histoire locale
– copier l’historique dans un fichier vide.

J’ai également supprimé tous mes fichiers par accident et restauré en utilisant la commande suivante:

 $ git config alias.unstage $ git checkout HEAD^ * 

1.Trouvez le commit auquel vous voulez revenir en utilisant:

  git log This command will give you a list of commits done by you . 

2. Revenez à cette validation en utilisant:

  git revert  

Maintenant, votre agence locale aurait tous les fichiers en particulier