Допустим, вы выполняете команду git status и получаете список файлов, которые хотите проверить один за другим, а затем фиксируете их один за другим.
Или вы выполняете git diff в каталоге и хотите перейти и выполнить фиксацию сразу после проверки. Как это сделать с помощью простого трюка?
ОБНОВЛЕНИЕ 2020:
Поработав, я решил установить и использовать ydiff
.
При выполнении ydiff -s
в терминале рядом отображается различие.
Нетрудно проверить это здесь и не возражать против моего старого ответа:
https://github.com/ymattw/ydiff
[ СТАРЫЙ ]
Git diff перед фиксацией?
Простое решение нестандартного мышления:
Вставьте это в свой .bashrc или .zshrc:
gdiffy() { git diff $1 && git add $1 && git commit $1; }
Сначала он откроет различие, когда вы его закроете, он позволит вам ввести сообщение фиксации.
пример использования:
gdiffy config/database.yml
или
gdiffy .
Если вы находитесь в среде графического интерфейса. "git gui"
можно запустить с консоли ..
Это запустит окно, в котором левая панель будет содержать список измененных файлов. Выбрав любой из них, вы увидите разницу.
Вы можете добавить файлы, щелкнув значок слева от имени файла, а затем зафиксировать его из того же окна.
Надеюсь, поможет.
Примечание: diff + commit не будет работать, потому что у вас нет ничего добавлен в индексе.
Как уже отмечалось, git add -i
или git add -p
(--patch
) предоставит вам представление различий с возможностью добавления или пропуска каждого фрагмента различий.
Затем вы можете зафиксировать измененный индекс.
Правда без "добавления" не работает! я добавил "добавить" прямо сейчас! это просто быстрый взлом!
Это вроде того, для чего предназначен
git add -i
. Это интерактивный режим git add, который позволяет вам работать файл за файлом и фрагмент за фрагментом, показывая вам разницу на каждом этапе.