git - 如何在提交 ID 不匹配的两个相同存储库之间创建和应用 git 补丁
问题描述
我从 GitHub 浅克隆了一个 git repo 并将其移动到一个隔离的私有 gitlab 服务器。为了将浅克隆推送到新的仓库,我不得不丢失提交 ID 和标签(我使用了这个答案:链接)。
现在我想在外部创建 git 补丁并将它们移动到私有 gitlab 服务器,以保持私有项目的更新。但我知道 git 补丁依赖于持久提交 SHA 才能工作 - 并且两个项目中的提交 SHA 不匹配。
有没有办法让我创建可用的补丁?
解决方案
但我知道 git 补丁依赖于持久提交 SHA 来工作
是的,如果您用于应用由(如此处所示)git am
生成的补丁git format-patch
git format-patch <first-commit-hash>^..<end-commit-hash>
但是,如果您使用的是git apply
,您应该能够将这些路径应用到您当前的工作目录,而无需检查正确的 SHA1。
请参阅“和之间有什么区别?git am
git apply
”。
推荐阅读
- plot - 你好,你能告诉我如何限制“情节”线的长度
- php - 在 PHP (PDO) 之外获取导致未定义的索引
- typescript - 有没有办法使用打字稿和续集向查询添加选项?
- html - 实时主机服务器上的 Html Css 响应问题
- coq - Coq - 你如何应用匹配子句的暗示?
- python - 减少使用 if's / elif
- mongodb - 跨文档数组元素的MongoDB唯一索引(不跨嵌套文档)
- c++ - 复制构造函数是否有助于 C++ 中的 memcpy?
- javascript - 如何用点击计数值替换图像而不是添加带有点击计数值的图像?(删除图像+添加新图像)
- arrays - 用 1 和 0 填充矩阵以使其满足给定的行和列总和的程序