В git, если в моем индексе есть несколько фрагментов из одного файла, как я могу отключить один из них в интерактивном режиме?
Есть ли альтернатива деинсталляции всего файла, а затем повторной инсталляции фрагментов, которые я хочу сохранить, или ручной отмены изменений в рабочей копии, а затем интерактивного добавления этих отмененных изменений?
git stash save --keep-index
выполнить обновление по какой-либо причине), я предлагаю вам использовать для сохранения и сброса изменений текущей рабочей копии. Затем вы можете сбросить свой файл и отменить изменения, которые вам не нужны. Если вы сначала скопируете файл во временное место, вы можете использовать егоdiff
для сохранения отмененных изменений. Затем вы можете снова добавить файл (нет необходимости в интерактивном добавлении, поскольку вы спрятали другие изменения, которые вас не интересовали). Используйте,git stash pop
чтобы вернуть старые изменения иdiff
применить отмененные вами изменения. Довольно громоздко ... :-(The short form -p also works for both commands.
.. Вы имеете в видуgit reset -p filename
?git add -p filename
выборочно этапы изменения из этого файла иgit reset -p filename
выборочно отменяют изменения. Также естьgit checkout -p -- filename
, что позволяет выборочно отменять изменения из файла. Предупреждение: каждый изadd
иreset
может использоваться для отмены другого из двух, но если вы используете эту форму для отменыcheckout
изменения, вы не сможете вернуть его.git gui
имеет приличный графический интерфейс для интерактивной постановки или отмены фрагментов или строк. Есть более красивые / лучшие клиенты с графическим интерфейсом, но ониgit gui
легкие, встроенные и кроссплатформенные (lin, win, mac).https://git-scm.com/docs/git-gui
Просто щелкните правой кнопкой мыши кусок, чтобы включить / выключить сцену. Для линий сначала выделите линии, затем щелкните правой кнопкой мыши.
источник
GitX имеет приятный пользовательский интерфейс для отключения фрагментов файла:
Официальный клиент некоторое время не поддерживался, но в некоторых кругах популярна вилка на GitHub с большим количеством функций. ( сообщение в блоге об этом )
источник
git gui
, за исключением того, что я не уверен, что использовал бы слово "хороший";)