Git папка с файлами из двух разных веток - PullRequest
0 голосов
/ 28 марта 2011

Я просто объясню свой сценарий.

У меня есть папка с git, содержащая набор скриптов, которые запускаются автоматически. Каждый сценарий имеет соответствующий файл фильтра, определяющий, какие файлы следует запускать в ответ на различные события. E.g.:

  • a.script
  • a.filter
  • b.script
  • b.filter

У меня есть ветка, содержащая некоторые изменения в сценариях, но мы решили пока что развертывать их только для определенных сценариев, используя фильтры. Таким образом, мы получим что-то вроде:

  • a.script
  • a_.script
  • a.filter
  • a_.filter
  • b.script
  • b_.script
  • b.filter
  • b_.filter

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

1 Ответ

0 голосов
/ 28 марта 2011

У вас уже есть дополнительные или измененные файлы в отдельной ветке (я предполагаю, что их имя testing); эта ветвь также должна содержать файлы из ветви master (потому что она была создана из master, верно?). Теперь создайте третью ветку, например, local (или unified или что-то еще):

git checkout -b local master

Теперь объедините вашу ветку testing в нее:

git merge testing

Это должно дать вам все модификации из всех веток. Обратите внимание, что эта ветвь не предназначена для фиксации вручную, вы просто объединяете в нее либо master, либо ветку testing, коммиты всегда идут в любую из этих веток, а не local!

Этот подход требует некоторой дисциплины, потому что вы не должны фиксировать ветку local (если вы не уверены, что можете rebase зафиксировать ветки local в ветке, в которую они действительно должны перейти) , Кроме того, в gitk это будет выглядеть довольно запутанным, потому что продолжающиеся объединения в одну ветвь имеют тенденцию создавать некоторый оптический шум. Это можно очистить время от времени, повторяя два шага сверху, которые просто воссоздают ветку local - это не проблема, потому что все ваши изменения были зафиксированы либо в master, либо в testing. * 1025. *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...