2016-01-03 1 views
1

Мои извинения заранее для любого неправомерного использования мерзавца терминологии ...Clone Git репо, так что я могу держать его в курсе оригинал, но держать мои изменения отдельно

У меня есть существующий сайт PHPBB. Я хотел бы клонировать их репо, применять мои изменения и создавать свое собственное репо, таким образом, чтобы я мог применять обновления из исходной ветви phpbb, когда они их делают, и поэтому я могу поддерживать свои собственные настройки. Я просто не совсем уверен, в каком порядке я должен это делать. Я даже не уверен, что то, что я хочу сделать, это вилка?

Что я хочу:

  • Чтобы иметь возможность обновить свой сайт с главной ветви PHPBB по своему усмотрению.
  • Чтобы иметь свое репо частное (используя битбакет).

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

  • Clone PHPBB к моей локальной машине
  • Применить мои текущие изменения
  • Сделайте новое репо на BitBucket
  • И вот где я смущен - я знаю, что мне нужно что-то сделать с репозиториями удаленного/оригинального происхождения, но в большинстве доступных руководств вы должны сделать стандартную fork/pull или клон, хотя Я хочу, чтобы мой код мог быть обновлен по происхождению, но я никогда не хочу обновлять их исходный код.

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

+0

Возможный дубликат [Как обновить GitHub раздвоенный хранилище] (http://stackoverflow.com/questions/7244321/ как к обновлению-а-GitHub-раздвоенный-хранилище) – wil93

ответ

0

Обычная вещь - сохранить два пульта дистанционного управления: origin (ваша частная вилка) и upstream (настоящий).

  1. Создайте свою личную вилку и клонировать его (он будет пустым)
  2. Добавьте "реальную": git remote add upstream <url-of-the-real-one>
  3. Скачать вверх совершивший: git fetch upstream
  4. Сил применяются перед совершившими: git reset --hard upstream/master
  5. Теперь ваш локальный репозиторий уже не пуст.Нажмите совершающие на origin: git push
  6. Применить локальные изменения, git commit их, и git push их

Теперь, если изменения upstream/master ветви, вам необходимо:

  1. снова скачать обновленные фиксации : git fetch upstream
  2. Объединение upstream/master филиал на ваш местный master филиал: git merge upstream/master
  3. Если шаг 2 порождает конфликты вы должны resolve them
  4. Обновление вашей приватной вилка: git push
Смежные вопросы