Как сделать пу sh вручную в другой репо один раз? - PullRequest
3 голосов
/ 08 февраля 2020

Некоторые люди говорят об «URL», некоторые говорят о «удаленных», и я не могу найти простого и ясного объяснения этому.

Вот идея:

  • у моего клиента есть свое git репо
  • У меня есть мое репо, и вся моя работа над ним.

Когда мне платят (или что-то в этом роде), я бы хотел один раз сделать ручную ставку sh на другой репо, и мне бы хотелось, чтобы клиент "четко" видел только те толчки, которые я для него сделал (= как нет других толчков / веток) .

Вот моя конфигурация:

$ git remote -v show
origin  git@github.com:olivierpons/my_repo.git (fetch)
origin  git@github.com:olivierpons/my_repo.git (push)

Как это сделать?

Ответы [ 2 ]

1 голос
/ 08 февраля 2020

и мне бы хотелось, чтобы клиент "ясно" видел только те толчки, которые я для него сделал (= как будто нет других толчков / веток).

Тогда это Лучше всего иметь:

  • отдельный локальный репозиторий, в котором вы выполняете только разработку для своего клиента
  • отдельный репозиторий GitHub, который ваш клиент может клонировать и проверять по желанию.

Попытка хранить несколько работ в одном и том же репозитории не очень подходит, если вы хотите поделиться только «частью этого» с внешним соавтором.

Если вы действительно хотите сделать sh одна ветвь, как в knittl s ответ , вам необходимо убедиться:

  • это сиротская ветвь ( нет общей истории, или вы бы просто sh история предыдущей ветви, на которой он был создан)
  • слияния не было сделано (или вы бы добавили sh историю объединенной ветви собственной ветки)
1 голос
/ 08 февраля 2020

Вам необходимо иметь сетевой доступ к хранилищу вашего клиента. Тогда это всего лишь вопрос отправки ваших изменений (точнее, ваших ветвей) в репозиторий вашего клиента:

git push user@client_host:path/to/repository.git local_branch:remote_branch_name

Если у вас нет доступа к репозиторию вашего клиента, вы также можете go маршрут через интеграционный репозиторий. Удаленный репозиторий, к которому у вас и у вашего клиента есть доступ. Тогда вы только выполняете или оплачиваете работу в этом хранилище, и ваш клиент тянет оттуда. Команда pupli sh ваша работа та же, что и выше, отличается только URL-адрес.

Необходимость вводить полный URL-адрес каждый раз становится утомительной, вот тут-то и вступают в игру «пульты». remote in Git - это псевдоним для URL удаленного хранилища. Вы можете легко добавить один, а затем использовать его вместо полных URL-адресов:

git remote add client user@client_host:path/to/repository.git
git push client your_branch:remote_branch_name

Обратите внимание, что нажатие на ветку принесет вам sh полную историю (включая все коммиты) этой ветви. Это может или не может быть проблемой в вашем случае.

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