Myślę, że prawdopodobnie pomyliłeś się z pojęciem indeksu , jak skomentował @CB Bailey:
Obszar przejściowy to indeks.
Możesz po prostu uznać katalog pomostowy i indeks za to samo.
Tak więc, podobnie jak odpowiedź @Tima Henigana , myślę:
po prostu chcesz „cofnąć” to, git add
co zostało zrobione dla tego pliku.
Oto moja odpowiedź:
Zwykle istnieją dwa sposoby cofnięcia operacji etapowej , jak już wspomniano w innych odpowiedziach:
git reset HEAD <file>
i
git rm --cached <file>
Ale jaka jest różnica?
Załóżmy, że plik został wystawił i istnieje w katalogu pracuje też wykorzystanie git rm --cached <file>
jeśli chcesz go usunąć z inscenizacji katalog i zachować plik w katalogu roboczego . Ale zauważ, że ta operacja nie tylko usunie plik z katalogu pomostowego, ale także oznaczy plik jako deleted
w katalogu pomostowym , jeśli używasz
git status
po tej operacji zobaczysz:
deleted: <file>
Jest to zapis usuwania pliku z katalogu pomostowego . Jeśli nie chcesz zachować tego rekordu i po prostu chcesz cofnąć operację na poprzednim etapie pliku, użyj git reset HEAD <file>
zamiast tego.
-------- KONIEC ODPOWIEDZI --------
PS: Zauważyłem niektóre wspomniane odpowiedzi:
git checkout -- <file>
To polecenie dotyczy sytuacji, gdy plik został przemieszczony , ale plik został zmodyfikowany w katalogu roboczym po przemieszczeniu . Użyj tej operacji, aby przywrócić plik w katalogu roboczym z katalogu przemieszczania . Innymi słowy, po tej operacji zmiany następują w katalogu roboczym , a NIE w katalogu pomostowym .