Как создать резервную копию частных ответвлений в мерзавце

Если вы хотите, чтобы Textview был обязательным или необязательным, как я. Смотрите мой хак

 func textViewDidBeginEditing(textView: UITextView) {
        if textView.text.isEmpty {
          if self.text == "Required" || self.text == "Optional" {
            dispatch_async(dispatch_get_main_queue(), {
              textView.selectedRange = NSMakeRange(0, 0)
            });
          }
        }
      }

      func textViewDidEndEditing(textView: UITextView) {
        if CommonUtils.isEmptyString(textView.text) {
          if required {
            textView.text = "Required"
          } else {
            textView.text = "Optional"
          }
          textView.textColor = grayColor//
        }
      }

      func textViewDidChange(textView: UITextView) {
        if textView.text.isEmpty {
          if required {
            textView.text = "Required"
          } else {
            textView.text = "Optional"
          }
          textView.textColor = grayColor
          textView.selectedRange = NSMakeRange(0, 0)
        } else {
          if required {
            if textView.text.length > "Required".length {
              textView.text = self.text.replace("Required", withString: "")
            }
          } else {
            if textView.text.length > "Optional".length {
              textView.text = self.text.replace("Optional", withString: "")
            }
          }
          textView.textColor = blackColor//
        }
      }

Не забудьте зарегистрировать делегата: UITextViewDelegate

48
задан Art 30 July 2014 в 01:38
поделиться

6 ответов

Я использую параметр --mirror и отправляю в личный репозиторий резервных копий:

Добавьте его как удаленное:

git remote add bak server:/path/to/backup/repo

Сделайте резервную копию:

git push --mirror bak

Это автоматически сделает ваш репозиторий резервных копий похожим на ваш активный - ветки будут создаваться, удаляться, обновляться (даже принудительно / не ускоренно) по мере необходимости. Вы также можете создать псевдоним для этого:

git config alias.bak "push --mirror bak"

Тогда просто нужно запустить «git bak», когда вы хотите сделать резервную копию. Вы также можете добавить это в задание cron.

50
ответ дан 26 November 2019 в 18:58
поделиться

Нет ничего плохого в том, чтобы перейти к той же ветке, из которой вы выполняете перезагрузку. Эти диаграммы должны проиллюстрировать, почему это работает нормально:

Допустим, так выглядит граф фиксации после того, как вы разветвили local_branch и сделали пару коммитов (C и D). Кто-то еще сделал одну фиксацию (E) в origin / master, так как вы разветвили local_branch:

A -- B -- E  [origin/master]
      \
       \    
        \-- C -- D  [local_branch]

Затем после запуска «git rebase origin / master» график фиксации будет выглядеть как следующая диаграмма. "origin / master" остался прежним, но "local_branch" был перебазирован:

A -- B -- E  [origin/master]
           \
            \
             \-- C -- D  [local_branch]

На этом этапе, если вы выполните "git push origin local_branch: master", то это приведет к простой быстрой перемотке вперед. "origin / master" и "local_branch" будут идентичны:

A -- B -- E -- C -- D  [origin/master],[local_branch]

Теперь вы можете продолжить работу над "local_branch". В конце концов вы можете получить что-то вроде этого:

A -- B -- E -- C -- D -- G -- I [origin/master]
                     \
                      \
                       \-- F -- H [local_branch]

Обратите внимание, что это очень похоже на начальный график. Вы можете повторять этот процесс снова и снова.

Вам следует избегать перехода в какую-то другую ветку, из которой вы не выполняете перезагрузку. Здесь вы столкнетесь с проблемами (для другой ветки это будет выглядеть так, как будто ваша история "local_branch" была внезапно переписана после того, как вы переустановили с "origin / master").

2
ответ дан 26 November 2019 в 18:58
поделиться

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

Я использую префикс для обозначения «это моя ветка, используйте ее на свой страх и риск» , например: fc-general-cleanup .

5
ответ дан 26 November 2019 в 18:58
поделиться

Можно ли настроить другой удаленный репозиторий куда вы подталкиваете все свои ветки? Еще одна вещь, которую следует учитывать, - это просто резервное копирование всего (важного) на вашем локальном компьютере, включая репозиторий git.

2
ответ дан 26 November 2019 в 18:58
поделиться

Другой вариант - отправить «local_branch» в репозиторий «origin», но в его собственную ветку в этом репо (не «master»), то есть:

git push origin local_branch : local_backup

Затем, когда вы будете готовы сделать еще одну резервную копию (и после того, как вы поработали и перенастроили), просто удалите ветку резервной копии из репозитория источника, прежде чем снова ее вытолкнуть:

git push origin: local_backup <=== удаляет ветку из источника

git push origin local_branch: local_backup

Таким образом, вы не столкнетесь с проблемами при отправке «local_branch» после того, как он был перемещен из «origin / master».

И если удаление резервных веток заставляет вас нервничать (до тех пор, пока вы, наконец, не передадите свою работу «мастеру»),вы всегда можете продолжить переход в новую ветку с новым именем (например, «local_backup1», «local_backup2» и т. д.).

5
ответ дан 26 November 2019 в 18:58
поделиться

Вот что я делаю . Но - это не личное. Я делаю это для того, чтобы сотрудничать с собой (так сказать). Это позволяет мне работать в одной ветке на двух или более боксах. если бы у других людей был доступ к общему репо, они могли бы видеть работу, которую я выполняю в ветке. Конечно, к моим домашним репозиториям никто не имеет доступа, так что это все еще конфиденциально. На github мой материал мог видеть весь мир. Как будто им действительно не все равно. ;)

1
ответ дан 26 November 2019 в 18:58
поделиться
Другие вопросы по тегам:

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