Немного про интуитивно-понятный git, для памяти
Имеем два репозитория:
- work.git - рабочий, в котором всё должно быть
- history.git - от него нужна только история коммитов
Необходимо слить их в один work.git. В первую очередь необходимо убедиться что со временем всё в порядке. Иначе, в прошлый раз такая неразбериха получилась!
Теперь клонируем репозитории:# ntpdate -s ntp.ubuntu.com
Препарация исходника: Выносим ссылку (ref) на origin у history.git, создаём директорию history, складываем всё содержимое репозитория туда и делаем коммит.$ git clone http://user@bitbucket/scm/user_tag/work.git $ git clone http://user@bitbucket/scm/user_tag/history.git
Рекурсивный Merge в приёмник: Ставим ссылку на директорию с history.git, делаем merge по стратегии recursive с опцией theirs, сносим ссылку:$ cd history $ git remote rm origin $ mkdir history $ git mv *.* history/. $ git mv .gitignore history/ $ git commit -m "Prepare to merge into work: `date +%d-%m-%Y,' '%H:%M:%S`" $ cd ..
Если всё-таки облажались со временем:$ cd work $ git remote add history ../history $ git pull -Xtheirs history master $ git remote rm history
Наконец, заносим получившееся в приёмник:$ git commit --amend --date='2017-01-31 15:00:00.000000000 +0300' -C HEAD
Если получившийся work.git слишком жирный и не лезет в приёмник:$ git push -u origin master
$ git config --global http.postBuffer 2048576000
Комментариев нет:
Отправить комментарий