Как я могу фиксировать только определенные строки с помощью SmartGit/Hg
Я использую SmartGit / Hg. Я отредактировал несколько файлов, работающих над двумя отдельными новыми функциями. Теперь, когда я закончил работу над Функция A, Я хочу совершить свою работу, но я не могу просто зафиксировать все мои отредактированные файлы, так как они содержат изменения Функция B, который я не хочу сейчас совершать.
1 ответов
вы можете достичь этого, используя этап. Прежде всего,этап все файлы, содержащие изменения, которые необходимо зафиксировать. В этом примере все файлы, кроме одного с именем DoNotCommit.php
содержит хотя бы одну строку, которую мы хотим зафиксировать:
Далее нам нужно открыть Редактор Индекса для всех файлов, содержащих строки Функция и Функция B. В этом примере нам нужно проверить Main.php
и NewFeatures.php
:
откроется Редактор Индекса. Вы видите три вкладки с вашим кодом:репозиторий (HEAD), индекс, Рабочее Дерево:
для нас, только репозиторий (HEAD) и индекс вкладка важны. The репозиторий (HEAD) вкладка показывает уже зафиксированное содержимое файла. The индекс вкладка показывает изменения, которые мы собираемся совершать. Предположим, мы хотим зафиксировать только первый блок кода с помощью :
как вы видите, мы удаляем весь код, который мы не хотим фиксировать из индекс tab. Это делает не удалите код из Рабочее Дерево, то есть вы не теряете ни одного из ваших изменений. Теперь мы делаем то же самое с нашим новым NewFeatures.php
файл и сохранить снова:
на последнем шаге мы собираемся фактически совершить новая функция. выберите Устроили Изменений в окне коммита!
Вау, мы сделали сейчас!