Задача не сложная. Есть два git репозитория с исходным кодом. В одном из них основной проект https://github.com/tdd-elevator-training/snake, а другой я писал давненько в отдельном локальном репозитории. Недавно я их решил замерджить. Что и сделал локально в IDE без вопросов - слил файлы, разместил в новом пакете, исправил ошибки компиляции, исправил тесты, дописал интеграционных, потестил ручками - все работает! Но теперь я хочу, чтобы у меня осталась история с локального репозитория (подключаемого проекта), а не только мой мердж.
Итого я имею локально:
- незакомиченный смердженный codenjoy проект с локальным git репозиторием (proj#1).
- удаленный репозиторий https://github.com/tdd-elevator-training/snake (тоже proj#1)
- второй локальный проект (proj#2), из которого брал исходный код для мерджа, хитори которого хочу сейчас сохранить.
Что буду делать? На ум напрашивается вот что:
- подготовить локальный репозиторий proj#2 (помувать папки куда надо) чтобы при мердже с основным он лег в нужное место, закоммитить
- за'pull'ить с удаленного репозитория proj#1 в локальный репозиторий proj#2 все-все, закоммитить мердж
- добавить все изменения из смердженного локлаьного proj#1 в локальный proj#2, закоммитить
- за'push'ить содержимое репозитория proj#2 на удаленный репозиторий proj#1
Что получилось:
Пригодится...
Итого я имею локально:
- незакомиченный смердженный codenjoy проект с локальным git репозиторием (proj#1).
- удаленный репозиторий https://github.com/tdd-elevator-training/snake (тоже proj#1)
- второй локальный проект (proj#2), из которого брал исходный код для мерджа, хитори которого хочу сейчас сохранить.
Что буду делать? На ум напрашивается вот что:
- подготовить локальный репозиторий proj#2 (помувать папки куда надо) чтобы при мердже с основным он лег в нужное место, закоммитить
- за'pull'ить с удаленного репозитория proj#1 в локальный репозиторий proj#2 все-все, закоммитить мердж
- добавить все изменения из смердженного локлаьного proj#1 в локальный proj#2, закоммитить
- за'push'ить содержимое репозитория proj#2 на удаленный репозиторий proj#1
Что получилось:
User@MYCOMP /d/JavaForFun/RubicsCubeWork (master) $ mkdir CodingDojo User@MYCOMP /d/JavaForFun/RubicsCubeWork (master) $ git mv src CodingDojo User@MYCOMP /d/JavaForFun/RubicsCubeWork (master) $ rm -rf pom.xml User@MYCOMP /d/JavaForFun/RubicsCubeWork (master) $ rm -rf .idea/ User@MYCOMP /d/JavaForFun/RubicsCubeWork (master) $ rm -rf target/ User@MYCOMP /d/JavaForFun/RubicsCubeWork (master) $ rm -rf .gitignore User@MYCOMP /d/JavaForFun/RubicsCubeWork (master) $ rm -rf RubicsCube.iml User@MYCOMP /d/JavaForFun/RubicsCubeWork (master) $ ls CodingDojo User@MYCOMP /d/JavaForFun/RubicsCubeWork (master) $ git commit -m "перенес папку перед мерджем" [master 2ec6dd1] перенес папку перед мерджем 30 files changed, 0 insertions(+), 0 deletions(-) rename {src => CodingDojo/src}/main/java/com/apofig/Color.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/Command.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/CommandParser.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/Cube.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/Edge.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/Edges.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/Face.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/FaceValue.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/Line.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/Neighbor.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/command/B.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/command/B2.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/command/B_.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/command/D.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/command/D2.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/command/D_.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/command/F.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/command/F2.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/command/F_.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/command/L.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/command/L2.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/command/L_.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/command/R.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/command/R2.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/command/R_.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/command/U.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/command/U2.java (100%) rename {src => CodingDojo/src}/main/java/com/apofig/command/U_.java (100%) rename {src => CodingDojo/src}/test/java/com/apofig/CubeTest.java (100%) rename {src => CodingDojo/src}/test/java/com/apofig/FaceValueTest.java (100%) User@MYCOMP /d/JavaForFun/RubicsCubeWork (master) $ cd CodingDojo/src/main/java/com/ User@MYCOMP /d/JavaForFun/RubicsCubeWork/CodingDojo/src/main/java/com (master) $ mkdir codenjoy User@MYCOMP /d/JavaForFun/RubicsCubeWork/CodingDojo/src/main/java/com (master) $ mkdir codenjoy/dojo User@MYCOMP /d/JavaForFun/RubicsCubeWork/CodingDojo/src/main/java/com (master) $ mkdir codenjoy/dojo/rubicscube User@MYCOMP /d/JavaForFun/RubicsCubeWork/CodingDojo/src/main/java/com (master) $ mkdir codenjoy/dojo/rubicscube/model User@MYCOMP /d/JavaForFun/RubicsCubeWork/CodingDojo/src/main/java/com (master) $ git mv apofig/* codenjoy/dojo/rubicscube/model User@MYCOMP /d/JavaForFun/RubicsCubeWork/CodingDojo/src/main/java/com (master) $ rm -rf apofig/ User@MYCOMP /d/JavaForFun/RubicsCubeWork/CodingDojo/src/main/java/com (master) $ cd .. User@MYCOMP /d/JavaForFun/RubicsCubeWork/CodingDojo/src/main/java (master) $ cd .. User@MYCOMP /d/JavaForFun/RubicsCubeWork/CodingDojo/src/main (master) $ cd .. User@MYCOMP /d/JavaForFun/RubicsCubeWork/CodingDojo/src (master) $ cd test/java/com/ User@MYCOMP /d/JavaForFun/RubicsCubeWork/CodingDojo/src/test/java/com (master) $ mkdir codenjoy User@MYCOMP /d/JavaForFun/RubicsCubeWork/CodingDojo/src/test/java/com (master) $ mkdir codenjoy/dojo User@MYCOMP /d/JavaForFun/RubicsCubeWork/CodingDojo/src/test/java/com (master) $ mkdir codenjoy/dojo/rubicscube User@MYCOMP /d/JavaForFun/RubicsCubeWork/CodingDojo/src/test/java/com (master) $ mkdir codenjoy/dojo/rubicscube/model User@MYCOMP /d/JavaForFun/RubicsCubeWork/CodingDojo/src/test/java/com (master) $ git mv apofig/* codenjoy/dojo/rubicscube/model User@MYCOMP /d/JavaForFun/RubicsCubeWork/CodingDojo/src/test/java/com (master) $ rm -rf apofig/ User@MYCOMP /d/JavaForFun/RubicsCubeWork/CodingDojo/src/test/java/com (master) $ git commit -m "перенес папки перед мерджем" [master b6b73e2] перенес папки перед мерджем 30 files changed, 0 insertions(+), 0 deletions(-) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/Color.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/Command.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/CommandParser.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/Cube.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/Edge.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/Edges.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/Face.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/FaceValue.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/Line.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/Neighbor.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/command/B.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/command/B2.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/command/B_.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/command/D.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/command/D2.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/command/D_.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/command/F.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/command/F2.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/command/F_.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/command/L.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/command/L2.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/command/L_.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/command/R.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/command/R2.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/command/R_.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/command/U.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/command/U2.java (100%) rename CodingDojo/src/main/java/com/{apofig => codenjoy/dojo/rubicscube/model}/command/U_.java (100%) rename CodingDojo/src/test/java/com/{apofig => codenjoy/dojo/rubicscube/model}/CubeTest.java (100%) rename CodingDojo/src/test/java/com/{apofig => codenjoy/dojo/rubicscube/model}/FaceValueTest.java (100%) User@MYCOMP /d/JavaForFun/RubicsCubeWork/CodingDojo/src/test/java/com (master) $ git remote add origin https://github.com/tdd-elevator-training/snake.git User@MYCOMP /d/JavaForFun/RubicsCubeWork/CodingDojo/src/test/java/com (master) $ git pull https://github.com/tdd-elevator-training/snake.git warning: no common commits remote: Reusing existing pack: 28222, done. remote: Total 28222 (delta 0), reused 0 (delta 0) Receiving objects: 100% (28222/28222), 62.10 MiB | 196.00 KiB/s, done. Resolving deltas: 100% (8506/8506), done. From https://github.com/tdd-elevator-training/snake * branch HEAD -> FETCH_HEAD Auto-merging .gitignore CONFLICT (add/add): Merge conflict in .gitignore Automatic merge failed; fix conflicts and then commit the result. // ручками пофиксил конфликт User@MYCOMP /d/JavaForFun/RubicsCubeWork/CodingDojo/src/test/java/com (master|MERGING) $ git commit -a -m "merge" [master d3378ff] merge // залил последние незакоммиченные изменения User@MYCOMP /d/JavaForFun/RubicsCubeWork/CodingDojo/src/test/java/com (master) $ git commit -m "залил последние изменения" [master d3378fe] залил последние изменения User@MYCOMP /d/JavaForFun/RubicsCubeWork/CodingDojo/src/test/java/com (master) $ git push https://github.com/tdd-elevator-training/snake.git warning: push.default is unset; its implicit value is changing in Git 2.0 from 'matching' to 'simple'. To squelch this message and maintain the current behavior after the default changes, use: git config --global push.default matching To squelch this message and adopt the new behavior now, use: git config --global push.default simple See 'git help config' and search for 'push.default' for further information. (the 'simple' mode was introduced in Git 1.7.11. Use the similar mode 'current' instead of 'simple' if you sometimes use older versions of Git) Username for 'https://github.com': tdd-elevator-training Password for 'https://tdd-elevator-training@github.com': Counting objects: 453, done. Delta compression using up to 8 threads. Compressing objects: 100% (259/259), done. Writing objects: 100% (441/441), 38.56 KiB | 0 bytes/s, done. Total 441 (delta 162), reused 0 (delta 0) To https://github.com/tdd-elevator-training/snake.git b5c78e4..d3378ff master -> master
Пригодится...
Комментариев нет:
Отправить комментарий