Как работать с Git на одном репо, хранящемся локально - PullRequest
0 голосов
/ 30 августа 2018

[ РЕДАКТИРОВАТЬ : вопрос изменен на основе первоначальной обратной связи]

У меня на компьютере есть локальное git-репо, в которое я вносил свои изменения, я работал над одной master веткой.

Теперь мне нужно впустить другого разработчика, и я собираюсь использовать метод "связки" для совместной работы в "автономном режиме" (см .: Рабочий процесс и настройка чистого репозитория git для передачи проекта / изменить / зафиксировать автономный репозиторий на отдельной машине? ).

Итак, я создал такой пакет:

cd myrepo
git bundle create repo.bundle HEAD master

и отдал его разработчику. Он, в свою очередь, создал репо и создал собственную ветку master-other:

git clone repo.bundle newrepo
git branch master-other
git checkout master-other

Он сделал некоторые модификации и передал их. Теперь скажите, что я хочу импортировать его моды обратно ко мне. Следующая команда работает нормально:

git bundle create new_commits.bundle master-other ^ffffff

Теперь я не уверен, что хочу на первой машине, которая создала исходный пакет.

Хочу ли я импортировать его изменения с помощью:

git pull new_commits.bundle master-other

Эта команда создает такую ​​ситуацию:

*   aaaaaaa (HEAD -> master) Merge branch 'master-other' of new_commits.bundle
|\  
| * bbbbbbb commit by other person 2
| * ccccccc commit by other person 1
* | ddddddd a commit I made after doing the bundle
|/  
* ffffff my last commit

Или я хочу создать еще одну ветку с именем master-other и импортировать туда его коммиты, а затем объединиться с моей главной веткой?

Или что-то еще?

Цель - сохранить на моей стороне работающее репо , а также вернуть другим разработчикам мои изменения.

Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 03 сентября 2018

Есть ли причина, по которой вы бы не использовали для этого закрытый репозиторий? Просто любопытно. Похоже, с тех пор, как вы работали в одиночку, и вы хотите привлечь другого соавтора, использование опубликованного репо послужит многим целям. Я не против того, чтобы защищать Github, поскольку есть другие сервисы, такие как BitBucket и GitLab.

У каждого из вас может быть форк проекта и отправка запросов на внесение изменений. Кроме того, вы бы увеличили свою избыточность, имея 4 копии кода (отдельные копии и 2 вилки) вместо 2.

Вы оба, в основном, могли бы работать в изоляции, но при необходимости приходить вместе с ОР.

0 голосов
/ 01 сентября 2018

Или я хочу создать еще одну ветку с именем master-other и импортировать там его коммиты, а затем объединиться с моей главной веткой?

На самом деле, git pull, который вы только что сделали , уже создали ветку (пусть и безымянную) и слили ее с мастером, как показано на диаграмме.

Если вы хотите импортировать эти коммиты напрямую поверх вашей текущей ветки, выполните:

git pull --rebase new_commits.bundle master

Цель состоит в том, чтобы сохранить рабочий репо на моей стороне

  • , который будет держать рабочий репо на вашей стороне

, а также возвращать другому разработчику мои изменения тоже.

Просто создайте новый инкрементный пакет и повторите процесс.

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