Как я могу объединить неверсионный код MonoDevelop обратно в репозиторий git?

Мой партнер по группе и я создаем приложение базы данных MySQL с интерфейсом GTK #. Наше приложение состоит из главного окна с информацией, отображаемой на нескольких вкладках. Мой партнер начал большую часть реализации, а затем дал мне копию папки проекта, чтобы я мог реализовать половину вкладок, а он мог сделать другую половину.

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

3
задан 13.05.2020, 18:46

1 ответ

Его код и ваш код должны иметь общее происхождение.

Вам нужен git-репозиторий с этим общим источником в качестве ревизии.

Его кодовое состояние должно использовать это общее происхождение как родитель, так же как и ваше.

Эту копию он дал вам, если у вас все еще есть архив.

  1. Создать новый репозиторий git
  2. Скопировать в него исходный код
  3. Добавить и зафиксировать
  4. Теперь создайте и проверьте новую ветвь для его кода ( git checkout -b his-code)
  5. Удалить весь исходный код, добавить его новый код в
  6. Добавить и зафиксировать
  7. Еще раз проверить исходный код (git checkout master)
  8. Создайте новую ветку для ВАШЕГО кода (git checkout -b my-code)
  9. Удалите исходный код, вставьте свой код
  10. Добавьте и подтвердите

Теперь вы иметь хранилище с историей ваших изменений общего происхождения. Объединение этих двух ветвей должно дать желаемый результат.

git checkout master
git merge his-code
git merge my-code
1
ответ дан 13.05.2020, 18:46
  • 1
    " источник code" Вы имеете в виду начальный код, он записал этому I' m пытающийся объединить мой неимеющий версию материал назад в? – pankaj mishra 13.05.2020, 18:47
  • 2
    Если его новый код на шаге 5 совпадает с исходным кодом на шаге 2, то он не внес изменений, так как он дал Вам код. Поэтому Ваш код должен уже представить полный объединенный код. Целый it' s верный, что он hasn' t изменил что-либо. – poige 13.05.2020, 18:47
  • 3
    Хорошо, я закончил это, просто делая touch junk.txt так, чтобы было незначительное различие и позволило мне делать фиксацию. Однако, когда я открываю проект в MonoDevelop, моем stuff' s там, но не его. – Andrew_1510 13.05.2020, 18:48
  • 4
    На Шаге 6 я сталкиваюсь с проблемой с git, где git add . выполнения без вывода, но впоследствии выполнение git commit просто говорит мне, нет никаких изменений в фиксации. Существует ли способ вызвать фиксацию без изменений? Поскольку код от Шага 5 является тем же кодом как от Шага 2. – DanS 13.05.2020, 18:48
  • 5
    Да, начальный архив кода, который он отправил Вам. Это - последний известный общий пересмотр, который Вы оба имели однажды. Я don' t означают соглашение Мерзавца вызова ответвления, Вы клонировали " origin" (жаль о беспорядке), – Andrew_1510 13.05.2020, 18:48

Теги

Похожие вопросы