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