Git tirer supprimé les modifications non validées

Je viens de faire un nouveau repository sur github. En commençant par un dossier plein de files, les étapes que j'ai suivies étaient:

git init git add -A git remote add origin ... #Now pull in the first commit that github made git pull origin master #Check everything is OK ls 

Eek! Tous mes files ont disparu! Qu'est-il arrivé? Puis-je les récupérer?

Solutions Collecting From Web of "Git tirer supprimé les modifications non validées"

Vous pouvez les récupérer. Même si la seule chose qui le désignait était l'index, git add mettait encore le contenu ajouté dans le repo. Je commencerais par un git fsck pour find "dangling" (l'orthographe un peu bizarre de git "non référencé") blobs et git cat-file -p ces blobs, s'il y en a trop, je ferais quelque chose comme find .git/objects -type f | xargs ls -lt find .git/objects -type f | xargs ls -lt .

Je suis d'accord avec la réponse acceptée, mais dans mon cas, il y avait trop de résultats pour git fsck . Cette solution est ce qui m'a aidé à localiser les files perdus:

Recherchez une string dans le (s) file (s) manquant (s):

 grep -rin <ssortingng_in_missing_file> .git/ 

Par exemple:

 grep -rin MyClassName .git/ 

Résultats de la search:

 .git//lost-found/other/3cfaa36226f52a5c1b38c2d2da3912656c998826:5:class MyClassName extends ParentClass .git//lost-found/other/e7b8923de4afb230ad523b5b515f50cb9c624248:5:class MyClassName extends ParentClass 

Où les résultats de search sont:

 .git/<path_to_file>:<line_number_of_found_ssortingng>:<found_ssortingng_and_context> 

Ensuite, pour restaurer le file:

 git cat-file -p 3cfaa36226f52a5c1b38c2d2da3912656c998826 > ../<desired_file_path>/MyClassName.php 

Puisque vous n'avez jamais commis les files, pas de désolé. Les étapes à suivre sont les suivantes:

 git init git add . git commit -m 'Initial commit' git remote add origin ... git push origin master 

Rappelez-vous, en cas de doute, engagez-vous toujours. Tant que vous faites cela, vous pouvez toujours annuler des choses avec git.