J'ai apporté des modifications à certains de mes fichiers dans mon référentiel local, puis j'ai fait git add -A
ce qui, je pense, a ajouté trop de fichiers à la zone de transfert. Comment supprimer tous les fichiers de la zone de transit?
Après cela, je le ferai manuellement git add "filename"
.
git status
vous indique déjà exactement quoi faire si vous souhaitez décompresser des fichiers.git add -p
ougit add --patch
(ce sont les mêmes). Cet indicateur vous permet de sélectionner de manière interactive les fichiers ou les modifications individuelles que vous souhaitez mettre en scène - vous pouvez ensuite obtenir beaucoup plus finement le travail que vous incluez dans la validation.Réponses:
Vous pouvez décompresser des fichiers de l'index à l'aide de
Tout comme
git add
, vous pouvez décompresser les fichiers de manière récursive par répertoire, etc.De plus, pour référence future, la sortie de
git status
vous indiquera les commandes à exécuter pour déplacer des fichiers d'un état à un autre.la source
$ git reset HEAD -- .
produitfatal: Failed to resolve 'HEAD' as a valid ref.
Notez que je n'ai jamais fait de commit; c'est le premiergit add
aprèsgit init
git reset @
.git reset
?@
est synonyme deHEAD
.Utilisation
pour démasquer tous les fichiers intermédiaires.
la source
git reset HEAD --
ou s'agit-il simplement d'une manière plus succincte d'effectuer la même opération?HEAD
par défaut. Quel est le but de ceux qui sont--
en vousgit reset HEAD --
?git reset HEAD -- .
est différent en ce qu'il ne réinitialise que les fichiers dans le répertoire en cours et en dessous tout engit reset
réinitialise tous les fichiers du projet.Si vous avez déjà validé un tas de fichiers indésirables, vous pouvez les supprimer et dire à git de les marquer comme supprimés (sans les supprimer réellement) avec
--cached
lui dit de supprimer les chemins de la mise en scène et de l'index sans supprimer les fichiers eux-mêmes et-r
opère sur les répertoires de manière récursive. Vous pouvez ensuitegit add
tous les fichiers que vous souhaitez suivre.la source
rm
désinstaller tous les fichiers.--cached
est vraiment d'arrêter le suivi des fichiers que vous avez déjà validés. Le fichier n'est donc pas réellement supprimé, mais git le pense. J'ai clarifié cela dans ma réponse.Vous pourriez utiliser
puis ajoutez les fichiers spécifiques que vous souhaitez avec
la source
git status
vous dira que le répertoire de travail est propre - mensonges!git clean -df
a fait ce travail, merci.git clean -df
cela supprimera définitivement les fichiers. Sur les systèmes de type UNIX, il appelleraunlink()
et vos fichiers supprimés ne seront pas récupérables.Comme indiqué dans d'autres réponses, vous devez utiliser
git reset
. Cela annulera l'action dugit add -A
.Remarque:
git reset
est équivalent àgit reset --mixed
ce que cela faitla source
git reset filenameToNotCommit
Maintenant à v2.24.0 suggère
pour supprimer les fichiers.
la source
Vous pouvez réinitialiser la zone de transit de plusieurs manières:
Réinitialisez HEAD et ajoutez tous les fichiers nécessaires à l'enregistrement comme ci-dessous:
la source
Pour supprimer tous les fichiers de la zone de transit, utilisez -
git reset
Pour supprimer l'utilisation de fichiers spécifiques -
git reset "File path"
la source
utilisation
Cela supprimera tous les fichiers de la zone de transit
la source
Si des fichiers indésirables ont été ajoutés à la zone de transfert mais pas encore validés, une simple réinitialisation fera le travail:
Pour supprimer uniquement les modifications non mises en scène dans le répertoire de travail actuel, utilisez:
la source
Utilisez "
git reset HEAD <file>...
" pour déchaîner les filsex: pour démasquer tous les fichiers
pour déchaîner un fichier
la source
J'ai essayé toutes ces méthodes mais aucune n'a fonctionné pour moi. J'ai supprimé le fichier .git en utilisant la
rm -rf .git
forme du dépôt local, puis de nouveau faitgit init
etgit add
et les commandes de routine. Ça a marché.la source
La meilleure façon d'annuler votre fichier qui se trouve déjà dans la zone de transfert est git reset --hard qui ramène vos fichiers transférés . Attention maintenant, cela supprimera les modifications échelonnées et non échelonnées.
la source
--hard
supprime pour toujours.