Можно ли создать патч с помощью format-patch с другого сервера? - PullRequest
0 голосов
/ 02 июля 2018

С это ТАК ответ:

$ git --git-dir=../<some_other_repo>/.git \
format-patch -k -1 --stdout <commit SHA> | \
git am -3 -k

Можно ли сделать то же самое на разных серверах? другими словами, если git-dir находится на другом физическом сервере, возможно ли использовать что-то вроде: --git-dir=otherServerName:/path/to/repo/.git?

Ответы [ 2 ]

0 голосов
/ 02 июля 2018

Одним из возможных решений является добавление сервера в качестве удаленного:

$ git remote add <remote-name> <remote-uri>

Затем получите изменения:

$ git fetch <remote-name>

Теперь у вас есть фиксация непосредственно на вашем компьютере без изменения каких-либо локальных веток. Вы можете создать патч как и в вашем вопросе без опции --get-dir. Если вам нужен коммит с вашей текущей работой, вы можете использовать git cherry-pick или любые другие подходящие команды git, напрямую используя хэш SHA.

0 голосов
/ 02 июля 2018

Гит-способ заключается в том, чтобы временно добавить сервер в качестве удаленного репо и cherry-pick коммит.

git remote add <name> <url>
git fetch <name>
git cherry-pick <commit SHA>
git remote remove <name>

Если, например, репо находится на GitHub или GitLab, вы можете сделать что-то вроде этого:

curl https://github.com/<user>/<repo>/commit/<commit SHA>.patch | \
git am -3 -k

Проверьте документацию API вашего git-сервера.

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