Использование git без сервера временно - PullRequest
0 голосов
/ 16 марта 2020

Так что по какой-то причине моя небольшая команда не может получить доступ к серверу, на котором наше репо git включено в течение неопределенного периода времени.

У всех нас есть локальные копии самых последних изменений репо, хотя и хотел бы продолжать вносить свой вклад в это. Как только мы снова получим доступ к серверу, мы захотим иметь возможность sh внести наши изменения на этот сервер и использовать его, как и прежде.

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

Я думаю:

  1. У одного человека будет копия «окончательный» репозиторий на своей машине

  2. Когда человек хочет внести изменение, он отправит файл патча своих изменений конечному владельцу репо.

  3. Затем конечный владелец репо создаст новую ветку на основе master, а затем применит патч к этой новой ветви.

  4. Затем конечный владелец репо протестирует Новая ветка

  5. После завершения тестирования конечный владелец репо может объединиться с мастером.

Итак, один вопрос с этим рабочим процессом, который у меня есть, : как другие люди в команде могут узнать об изменениях? Если конечный владелец репо сливается с мастером, как другие участники могут отразить слияние в своих репо?

Любые указания или критика приветствуются.

Ответы [ 2 ]

1 голос
/ 16 марта 2020

Git имеет полную копию репозитория на вашем компьютере. Предполагая, что вы не хотите пытаться поделиться, продолжайте работать как обычно. Pu sh как только у вас снова будет доступ к серверу.

Если вы все вносите изменения в master (или любую отдельную ветку), что увеличивает риск конфликтов, поэтому обязательно используйте четко определенные ветви функций .


Если вы хотите координировать действия, вы можете сделать, как вы предлагаете, и отправить файлы исправлений назначенному интегратору. Git имеет расширенный рабочий процесс электронной почты . Но файлы исправлений теряют большую часть мощности Git. И вам все еще нужен способ, чтобы интегратор мог распространять изменения для всех.

Самое простое, что нужно сделать, это настроить новый, временный Git сервер . Это требует только s sh доступа. Установите это как origin и работайте с этим. Это более безопасно и намного менее подвержено ошибкам, чем отправка файлов патчей по электронной почте.

После того, как вы снова получите доступ к главному серверу, вы можете sh внести свои изменения прямо на него. У всех вас есть полная копия хранилища, и вы все сможете восстановить ее.

0 голосов
/ 22 марта 2020

Мы нашли решение, которое очень конкретно c для нашего случая, но если бы мы не смогли этого сделать, мы бы использовали git bundle

...