Jak interaktywnie usunąć konkretny kawałek w git?

W git, jeśli mam kilka kawałków z tego samego pliku wystawionych w moim indeksie, Jak mogę interaktywnie odblokować jeden z nich?

Czy jest jakaś alternatywa dla zastagowania całego pliku, a następnie ponownego stagowania fragmentów, które chcę zachować, lub ręcznego cofania zmian do kopii roboczej, a następnie interaktywnego dodawania tych cofniętych zmian?

 82
Author: Andrew Grimm, 2011-03-04

3 answers

Spróbuj git reset --patch filename; powinno to działać odwrotnie niż git add --patch, zgodnie z dokumentacją . Krótka forma -p działa również dla obu poleceń.

 105
Author: Aasmund Eldhuset,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-31 12:50:45

GitX ma ładny interfejs do unstagowania fragmentów pliku: Tutaj wpisz opis obrazka

Oficjalny klient nie był utrzymywany przez jakiś czas, ale widelec na Githubie z większą liczbą funkcji jest popularny w niektórych kręgach. ( blog o tym )

 1
Author: John Douthat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-04 05:58:43

git gui ma przyzwoity GUI do interaktywnego wystawiania lub odrywania fragmentów lub linii. Istnieją ładniejsze/lepsze klienty GUI, ale git gui jest lekki, wbudowany i cross platform (lin, win, mac).

Https://git-scm.com/docs/git-gui

Wystarczy kliknąć prawym przyciskiem myszy na kawałku, aby ustawić/usunąć. W przypadku linii najpierw zaznacz linie, a następnie kliknij prawym przyciskiem myszy.

 0
Author: wisbucky,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-01 22:36:12