Слияние двух папок с помощью git - PullRequest
3 голосов
/ 23 апреля 2010

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

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

/root
  /.git
  /proj         (old dev folder with my own code in it)
  /dev_proj     (new folder which I would like to merge /prod with)
  /prod_proj       (production code)

Итак, я хотел бы объединить работу, которую я проделал в /proj, с работой в /dev_proj. Есть ли способ сделать это с помощью git?

Я думал о создании ветви, копировании всех файлов из /proj в /dev_proj и объединении этой ветви с master. Будет ли это работать?

Спасибо, и если я смогу кое-что прояснить, дайте мне знать.

1 Ответ

2 голосов
/ 23 апреля 2010

Я не эксперт по git, но я бы предложил создать новую ветку, основанную на изменении, откуда он скопировал свой код до внесения изменений.

git branch devProjTemp <commit-id>

(Не забудьте git checkout devProjTemp.) Затем скопируйте все файлы из dev_proj в proj и выполните коммит. Тогда вы сможете объединиться с новой веткой в ​​master, и она должна делать все правильно.

Если вы хотите иметь отдельные данные dev и prod, я бы также предложил создать ветку для одного из них. В частности, я бы создал ветку prod и скопировал в нее изменения из prod_proj.

Затем я бы удалил prod_proj и dev_proj в ветке master и ветке prod.

Ваш коллега не знает о филиалах? Я бы поучился там. Это не должно быть так сложно, как только вы создали ветви.

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