是否可以使用另一台服务器上的format-patch创建补丁?

时间:2018-07-02 15:39:36

标签: git

来自this的答案:

$ 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 :(得分:1)

一种可能的解决方案是将服务器添加为远程服务器:

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

然后获取更改:

$ git fetch <remote-name>

现在,您可以直接在计算机上进行提交,而无需修改任何本地分支。您可以在问题中创建补丁,而无需使用--get-dir选项。如果要在当前工作中进行提交,则可以直接使用SHA哈希使用git cherry-pick或任何其他合适的git命令。

答案 1 :(得分:0)

git的方法是将服务器临时添加为远程回购,并樱桃选择提交。

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

检查git服务器的API文档。