Как я могу фиксировать только определенные строки с помощью SmartGit/Hg

Я использую SmartGit / Hg. Я отредактировал несколько файлов, работающих над двумя отдельными новыми функциями. Теперь, когда я закончил работу над Функция A, Я хочу совершить свою работу, но я не могу просто зафиксировать все мои отредактированные файлы, так как они содержат изменения Функция B, который я не хочу сейчас совершать.

1 ответов


вы можете достичь этого, используя этап. Прежде всего,этап все файлы, содержащие изменения, которые необходимо зафиксировать. В этом примере все файлы, кроме одного с именем DoNotCommit.php содержит хотя бы одну строку, которую мы хотим зафиксировать:enter image description here

Далее нам нужно открыть Редактор Индекса для всех файлов, содержащих строки Функция и Функция B. В этом примере нам нужно проверить Main.php и NewFeatures.php:enter image description here

откроется Редактор Индекса. Вы видите три вкладки с вашим кодом:репозиторий (HEAD), индекс, Рабочее Дерево:enter image description here

для нас, только репозиторий (HEAD) и индекс вкладка важны. The репозиторий (HEAD) вкладка показывает уже зафиксированное содержимое файла. The индекс вкладка показывает изменения, которые мы собираемся совершать. Предположим, мы хотим зафиксировать только первый блок кода с помощью :enter image description here

как вы видите, мы удаляем весь код, который мы не хотим фиксировать из индекс tab. Это делает не удалите код из Рабочее Дерево, то есть вы не теряете ни одного из ваших изменений. Теперь мы делаем то же самое с нашим новым NewFeatures.php файл и сохранить снова:enter image description here

на последнем шаге мы собираемся фактически совершить новая функция. выберите Устроили Изменений в окне коммита!enter image description here

Вау, мы сделали сейчас!