Когда перейти в мерзавце?

Код ниже преобразует десятичное значение d в шестнадцатеричный. Это также позволяет Вам добавлять дополнение к шестнадцатеричному результату. Так 0 станет 00 по умолчанию.

function decimalToHex(d, padding) {
    var hex = Number(d).toString(16);
    padding = typeof (padding) === "undefined" || padding === null ? padding = 2 : padding;

    while (hex.length < padding) {
        hex = "0" + hex;
    }

    return hex;
}
13
задан LDK 28 July 2009 в 01:39
поделиться

6 ответов

Я уверен, что есть люди, которые делают вещи, отличные от моих. Однако я следую этому:

  • Всегда создавайте ветку для каждой функции (объединяйте их позже)
  • Создайте ветку для каждого исправления ошибки
  • Пусть главная ветка будет чистой, не делая ее рабочей Прогресс (WIP)
24
ответ дан 1 December 2019 в 17:59
поделиться

Самое лучшее в Git - это то, что он не навязывает вам никаких решений. Хуже всего в Git то, что он не навязывает вам никаких решений.

Ваш рабочий процесс полностью зависит от вас. Собираетесь ли вы сотрудничать или развиваетесь самостоятельно? У вас короткий или большой промежуток времени между выпусками? Эти ограничения могут помочь определить подходящий рабочий процесс.

Я работаю в небольшой команде из 4 разработчиков с двухнедельным циклом итераций. В начале цикла мы согласовываем объем и развиваемся против мастера. Все, что, как мы ожидаем, превысит двухнедельный срок, перемещается (или начинает свою жизнь) в ветке (это случается не часто, наш объем ограничен).

В конце двухнедельного цикла мы выполняем нашу проверку качества, отметьте и отпустите. Начиная со следующего цикла, эти другие ветки снова объединяются в master.

Если вам нужно исправить выпуск, мы создаем ветку, фиксируем, проверяем качество, теги и выпускаем.

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

Таким образом, наша команда разветвляется, когда:

  • Возможности превышают наш цикл итераций
  • Исправить выпуск
  • Экспериментальные функции

Наш рабочий процесс очень централизован и, вероятно, не типичен для многие пользователи Git. Нет ни правильного, ни неправильного, просто нужно выбрать наиболее подходящий.

  • Возможности превышают наш цикл итераций
  • Патч для выпуска
  • Экспериментальные функции

Наш рабочий процесс очень централизован и, вероятно, не типичен для многих пользователей Git. Нет ни правильного, ни неправильного, просто нужно выбрать наиболее подходящий.

  • Возможности превышают наш цикл итераций
  • Патч для выпуска
  • Экспериментальные функции

Наш рабочий процесс очень централизован и, вероятно, не типичен для многих пользователей Git. Нет ни правильного, ни неправильного, просто нужно выбрать наиболее подходящий.

6
ответ дан 1 December 2019 в 17:59
поделиться

Я не понимаю, что вы имеете в виду, говоря о ветвлении каждой версии текущего проекта.

В любом случае, git советует вам создать «тематическую ветку». Под «тематической веткой» это означает, что вы создаете ветку, когда работаете над функцией / ошибкой. Допустим, я работаю над jQueryUI, и меня попросили добавить в календарь jQuery функцию, которая позволяет пользователю указывать даты, которые нельзя выбрать.

Если я нахожусь в ветке с именем master, я создам локальную ветку с именем «SpecifyDateExclusion» и начну вносить свои изменения. Весь код, связанный с этой функцией, будет помещен в эту ветку.

master
  |
  |
  |___ SpecifyDateExclusion

Пока я работаю над этой функцией, приходит сообщение об ошибке, что календарь в Opera 10 не работает, и эту ошибку необходимо исправить сейчас. Я возвращаюсь в свою основную ветку и создаю другую ветку с именем Opera10BugFix и начинаю исправлять в ней ошибки.

master
  |
  |
  |___ SpecifyDateExclusion
  |
  |
  |___ Opera10BugFix

Очень скоро у вас могут появиться такие ветки, как

master
  |
  |
  |___ SpecifyDateExclusion
  |
  |___ Feature1
  |
  |___ Feature2
  |
  |___ Feature3
  |
  |___ Opera10BugFix
  |
  |___ BugFix1
  |
  |___ BugFix2

В чем преимущество, спросите вы?

Преимущество заключается в гибкости. дает мне при подготовке моего релиза. Допустим, мой следующий выпуск в основном посвящен исправлениям ошибок.

Я создам новую ветку с именем 'InterimBugFix' из master и объединю все свои ветки с исправлениями ошибок.

Если я хочу создать сочетание выпуска ошибки / функции, я создам ветку с именем «NextVersion» из мастера и объединю свои ветки функции / исправления ошибок.

Git чрезвычайно эффективен в том, как вы управляете этими ветвями и если вы можете что-то вообразить, Git позволит вам это сделать.

Вы можете спросить, какое преимущество?

Преимущество заключается в гибкости, которую он дает мне при подготовке моего релиза. Скажем, мой следующий выпуск в основном посвящен исправлениям ошибок.

Я создам новую ветку с именем 'InterimBugFix' из мастера и объединю все мои ветки исправления ошибок.

Если я хочу создать сочетание выпуска ошибки / функции, я создам ветку с именем «NextVersion» из мастера и объединю свои ветки функции / исправления ошибок.

Git чрезвычайно эффективен в том, как вы управляете этими ветвями и если вы можете что-то вообразить, Git позволит вам это сделать.

Вы можете спросить, какое преимущество?

Преимущество заключается в гибкости, которую он дает мне при подготовке моего релиза. Скажем, мой следующий выпуск в основном посвящен исправлениям ошибок.

Я создам новую ветку с именем 'InterimBugFix' из мастера и объединю все мои ветки исправления ошибок.

Если я хочу создать сочетание выпуска ошибки / функции, я создам ветку с именем «NextVersion» из мастера и объединю свои ветки функции / исправления ошибок.

Git чрезвычайно эффективен в том, как вы управляете этими ветвями и если вы можете что-то вообразить, Git позволит вам это сделать.

8
ответ дан 1 December 2019 в 17:59
поделиться

Если есть сомнения, переходите. Филиалы дешевы, и информацию из новых филиалов можно легко передать в старые. Когда ветка изжила себя, ее можно легко убить.

2
ответ дан 1 December 2019 в 17:59
поделиться

В разработке веб-приложений мы делаем следующее:

Мы поддерживаем нетронутую ветвь под названием «Производство». Он содержит код, который существует на действующих веб-сайтах.

Любые изменения этого происходят в ветвях задач. Таким образом, вы можете увидеть ветку Task-13923-add-feature-x. Эти ветви созданы из производственной ветви , и производственная ветвь должна быть объединена с ними перед объединением в производственную (так что это всегда чистая перемотка вперед, без потенциальных конфликтов).

Все остальные время от времени объединяют ветку «Производство» со своими ветвями задач, чтобы оставаться в курсе.

3
ответ дан 1 December 2019 в 17:59
поделиться

На этот вопрос есть много ответов в зависимости от ваша «стратегия ветвления». Два самых простых (по моему опыту) - это ветки задач / функций и ветки выпуска. То, что вы будете использовать, будет зависеть, помимо прочего, от того, как работает ваш цикл выпуска.

Если вы интегрируете и выпускаете непрерывно, то ветви задач / функций имеют смысл, поскольку они оставляют «главную» (транк в других VCS) в относительно стабильном состоянии, что упрощает выпуск релизов. Но если у вас более структурированный цикл выпуска, возможно, ветви выпуска будут иметь больше смысла, поскольку их можно использовать для более тщательного определения того, что будет добавлено к каждому выпуску. Конечно, возможна и гибридная стратегия.

Я обычно использую ветки задачи / функции, поэтому каждая ошибка или запрос функции ветвятся. Затем обрабатывается и по завершении снова объединяется с мастером.

1
ответ дан 1 December 2019 в 17:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: