Как я могу зафиксировать одни изменения в файле, но не другие, в VSCode?

139

VSCode имеет отличную интеграцию с git, но я не могу найти способ делать частичные коммиты. По сути, я хочу иметь возможность выбирать определенные изменения в моих файлах и выполнять их, не размещая весь файл. Эта функция поддерживается git CLI, собственными приложениями Github и плагинами Atom.

В основном, чтобы убедиться, что я что-то не упускаю, прежде чем открыть для этого билет.

Rayne
источник

Ответы:

212
  • Откройте представление «Управление исходным кодом», затем щелкните измененный файл, чтобы открыть сравнение.

  • Выберите линии, которые хотите подготовить.

  • Затем нажмите "..." Stage Selected Ranges.

введите описание изображения здесь

Бенджамин Пасеро
источник
45
На всякий случай, если кто-то еще запутается, как я: этот снимок экрана относится к ···правому верхнему углу редактора, а не ···к верхней части панели git слева.
waldyrious
4
Если это вернет вам ошибку « Git: Illegal value forline », об этом пару раз сообщалось на GitHub, но все еще не исправлено. В этом случае просто переключите «Встроенный просмотр», и все заработает. Источник
Marc.2377
2
Как упомянул @Dimitris, эта команда также находится в палитре команд, поэтому вам не нужно находиться в представлении управления версиями.
eatcrayons
2
Имейте в виду, что это этапы целых строк, если вы хотите get add -i
этапировать
97

⚡ Подытоживая все в этом посте с помощью гифки.

  1. Убедитесь, что вы находитесь в представлении системы управления версиями, чтобы использовать эту функцию
  2. Выберите диапазон кода
  3. Откройте ···в правом верхнем углу редактора (а не ···в верхней части панели git слева)
  4. Вы также можете нажать COMMAND (⌘)+ K+ COMMAND (⌘)+, Sчтобы открыть сочетания клавиш и выполнить поиск, rangeа затем установить сочетание клавиш для этого действия.

VSCode Range Select Commit

Мир! ✌️

Ахмад Авайс
источник
трудно выделить удаленные строки
duXing
45

Обновление: октябрь 2017 г .: в последней версии VSCode от октября 2017 г. (версия 1.18) вы можете действительно легко создавать определенные строки, как если бы вы делали это с помощью git CLI git add -p. Вам просто нужно нажать на отредактированную строку сбоку, например, посмотреть разницу и применить ее или нет.

Просматривать ожидающие изменения и выполнять частичные коммиты в редакторе

Константинос Леймонис
источник
5
Однако не хватает двух вещей ... Вы не можете разделить ханк и вы не можете вручную редактировать ханк ... :(
Роберт Коритник
12

Эта опция перенесена в палитру:

shift + command + P и введите "этапы выбранных диапазонов"

Димитрис
источник
не работает в режиме vim.
baxx
@baxx Почему вы этого ожидали?
tejasvi88
@ tejasvi88, почему бы и нет?
baxx