Как вытащить коммиты из второго репозитория github? (Чтобы разделить историю коммитов) - PullRequest
0 голосов
/ 28 апреля 2011

Мне нужно нанять некоторых фрилансеров, но не позволять им видеть предыдущие коммиты, только текущее состояние. Поэтому я хотел бы клонировать частное репо на моем github, удалить историю коммитов .git, добавить клон репо в учетную запись github как общедоступную, сделать так, чтобы фрилансеры раскручивали репо и отправляли запросы на удаление со своими изменениями. Затем верните изменения в мое первоначальное частное репо со всей моей историей коммитов.

Какой лучший способ сделать это? Спасибо

1 Ответ

1 голос
/ 28 апреля 2011

Я не думаю вы сможете извлекать изменения вплоть до вашего частного репо с полной историей, потому что вы хотите, чтобы общественность -repo и private-repo, чтобы эффективно иметь разные корневые коммиты.

Я думаю Ваша лучшая ставка может быть:

  • Сделайте снимок вашего хранилища с помощью git archive.
  • Используйте это в качестве начального коммита в вашем новом публичном хранилище (таким образом уничтожая историю).
  • Разрешить разработчикам разбирать, работать и отправлять pull-запросы, как обсуждалось.
  • Скопируйте коммиты из публичного репозитория в приватный, используя одно из следующего:
    • git format-patch в публичном репо, git am в частном репо
    • Добавление как удаленных, так и git cherry-pick отдельных коммитов
    • Добавьте оба пульта дистанционного управления и git rebase ваши публичные филиалы в ваши частные; у вас, вероятно, должно быть очень хорошее понимание того, как работает Rebase, прежде чем пытаться это сделать.
...