Как отследить отладочный код в ветке DEV, но удалить его на MASTER - PullRequest
0 голосов
/ 13 октября 2019

У меня проблема с GIT. Представьте себе следующую схему ветвления:

 MASTER
   |
  DEV
   |
FEATURE1

Где " DEV " - это ветвь, в которой мы просматриваем код, и код отладки (в данном случае console.log и аналогичный) НЕ ДОЛЖЕНбыть включенным туда, и 'FEATURE1' - это место, где я делаю свою работу, и для этого я хочу, чтобы отладочный код отслеживался.

Я использую 2 хука (pre-commit & post-commit):

pre-commit

post-commit

Это работает, если я фиксирую изменения в " DEV * 1020ветвь * ", так как она в основном клонирует изменения, сохраняет их перед фиксацией и отменяет их после, но это пропускает смысл иметь ветвь" FEATURE", и позволяет мне только иметьлокально отлаживать код (мне может потребоваться полная проверка проекта на другом устройстве, и я хочу иметь возможность восстановить мой код отладки ...)

Рабочий процесс, который я получил до сих пор, в основном нормально передает данные в FEATUREветвь, а затем вставьте его в ветку DEV следующим образом: git cherry-pick -x COMMITid --no-commit; git commit --reuse-message=COMMITid

----TD; DR ----

Я ищу способ удаления console.log при фиксации / слиянии с конкретными ветками ( master & dev , в данном случае)

Ответы [ 2 ]

1 голос
/ 13 октября 2019

Код отладки

Вы должны использовать #if (C# Reference) (https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/preprocessor-directives/preprocessor-if) для кода отладки.

#if DEBUG
    Console.WriteLine("Debug version");
#endif

Отладочные артефакты

Прекратить сохранениеартефакты отладки ( "console.log и аналогичные" ) с вашим исходным кодом.

0 голосов
/ 13 октября 2019

Возможно, вы захотите обернуть свои операторы, если блоки для переменной окружения, которая устанавливается во время выполнения таким образом, нет необходимости удалять ее

...